You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Attributes starting with rustc_ are supposed to be gated, but they are not always gated #62116
Of course, the specific known built-in attributes like #[rustc_copy_clone_marker] are feature gated, but the rustc_* names are not reserved in general.
As a result, you can easily create a procedural macro attribute starting with rustc_.
As a result, introduction of a new built-in attribute is technically a breaking change even if the attribute starts with rustc_.
Q: Why is introduction of a new built-in attribute a breaking change.
A: Because built-in attributes will conflict with any other attributes in scope having the same name (see #53913 (comment) for some technical details).
Possible solutions:
Reserve (feature gate) any attributes starting with rustc_, including macros, run crater and see what happens.
Do nothing, this is not a big deal.
Third party attribute names are unlikely to start with rustc_.
We are going to add new non-rustc_* built-in attributes anyway and go through the same technically breaking changes in process.
Activity
Auto merge of #62133 - petrochenkov:norustc, r=<try>
Rollup merge of rust-lang#62133 - petrochenkov:norustc, r=eddyb
Rollup merge of rust-lang#62133 - petrochenkov:norustc, r=eddyb
Rollup merge of rust-lang#62133 - petrochenkov:norustc, r=eddyb
Rollup merge of rust-lang#62133 - petrochenkov:norustc, r=eddyb
Rollup merge of rust-lang#62133 - petrochenkov:norustc, r=eddyb
Rollup merge of rust-lang#62133 - petrochenkov:norustc, r=eddyb
Rollup merge of rust-lang#62133 - petrochenkov:norustc, r=eddyb
Rollup merge of rust-lang#62133 - petrochenkov:norustc, r=eddyb
Rollup merge of rust-lang#62133 - petrochenkov:norustc, r=eddyb