Skip to content

Library Trait Evolution Experiment #712

Open

Description

@nxsaken
Metadata
Contact @lcnr
Team(s) lang (@tmandry), libs, types (@lcnr)
Goal document 2026/library-trait-evolution-experiment
Funding contact Hexcat

Summary

Setup a Library Trait Evolution experiment. It works to unify the design of language features to make trait definitions less rigid. This includes refined trait implementations and Supertrait Auto-impl, but also more targeted features for the standard library, such as #[rustc_must_implement_one_of].

We plan to collect different use-cases and requirements here, both from the standard library and the wider ecosystem. We then use this to design, implement, and stabilize features solving these issues.


This issue is intended for status updates only.

For general questions or comments, please contact a goal owner or post in the Zulip topic.

Activity

  1. added this to the 2026 milestone on Jul 8, 2026
  2. nxsaken commented on Jul 8, 2026

    @nxsaken
    ContributorAuthor

    This issue is intended for status updates only.

    For general questions or comments, please contact the owner(s) directly.

  3. locked and limited conversation to collaborators on Jul 8, 2026
  4. lcnr commented on Jul 14, 2026

    @lcnr
    Contributor

    This is now an accepted Language Team Experiment rust-lang/lang-team#377 and we've started by extracting the use-cases mentioned in the existing proposals and the related issues in a shared repository: https://github.com/rust-lang/library-trait-evolution-initiative/issues

    I currently don't have a great sense of all the different requirements for features here and e.g. discussing rust-lang/library-trait-evolution-initiative#4 in our weekly meeting, we realized the original approach explored in is likely not a valid use case of rust-lang/rfcs#3851 as the original idea isn't possible due to other constraints. This is something I would love to get help for, see this zulip thread.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions