Skip to content

DUPLICATE_AUTO_TRAITS_IN_TRAIT_OBJECTS future-compatibility warning #56522

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
alexreg opened this issue Dec 4, 2018 · 1 comment
Closed

DUPLICATE_AUTO_TRAITS_IN_TRAIT_OBJECTS future-compatibility warning #56522

alexreg opened this issue Dec 4, 2018 · 1 comment
Labels
A-trait-system Area: Trait system C-future-incompatibility Category: Future-incompatibility lints T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-lang Relevant to the language team, which will review and decide on the PR/issue.

Comments

@alexreg
Copy link
Contributor

alexreg commented Dec 4, 2018

This is the summary issue for the DUPLICATE_AUTO_TRAITS_IN_TRAIT_OBJECTS
future-compatibility warning and other related errors. The goal of
this page is describe why this change was made and how you can fix
code that is affected by it. It also provides a place to ask questions
or register a complaint if you feel the change should not be made. For
more information on the policy around future-compatibility warnings,
see our breaking change policy guidelines.

What is the warning for?

Specifying the same auto trait more than once in the bounds for a trait object triggers this warning. For example, dyn Send + Send or dyn Debug + Sync + Sync will both trigger this warning. Despite the warning, during the transitional period, dyn Send + Send will be treated exactly the same as dyn Send (bounds are said to be "deduplicated"), to maintain backwards compatibility.

When will this warning become a hard error?

At the beginning of each 6-week release cycle, the Rust compiler team
will review the set of outstanding future compatibility warnings and
nominate some of them for Final Comment Period. Toward the end of
the cycle, we will review any comments and make a final determination
whether to convert the warning into a hard error or remove it
entirely.

@Centril Centril added A-trait-system Area: Trait system C-future-incompatibility Category: Future-incompatibility lints T-lang Relevant to the language team, which will review and decide on the PR/issue. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Dec 4, 2018
@alexreg
Copy link
Contributor Author

alexreg commented Dec 20, 2018

This is just going to be a normal lint now, so closing.

@alexreg alexreg closed this as completed Dec 20, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-trait-system Area: Trait system C-future-incompatibility Category: Future-incompatibility lints T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-lang Relevant to the language team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

2 participants