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.
Tasks and status
Note: we have updated the body to match the 2026 goal. Your original text is preserved below.
Details
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.
Tasks and status
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.
Tasks and status
Note: we have updated the body to match the 2026 goal. Your original text is preserved below.
Details
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.
Tasks and status