-
-
Notifications
You must be signed in to change notification settings - Fork 14.3k
compiler: Make Externally Implementable Item (eii) macros "semiopaque" #151046
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
Conversation
Otherwise eiis defined by std will produce large amounts of `missing stability attribute` errors.
|
what does opaque/semiopaque exactly mean? like what effect does that have? Is there a nice reference somewhere? |
|
@rustbot author |
|
@jdonszelmann Hopefully the in-tree docs can help? rust/compiler/rustc_span/src/hygiene.rs Lines 182 to 200 in 3bdf45f
Also, this seems to be the most important place for where the difference of the variants matter (but I don't understand the code myself): rust/compiler/rustc_span/src/hygiene.rs Lines 605 to 619 in 3bdf45f
I personally find the discussion that starts here interesting. In the end, for me, it boils down to:
|
|
Yea, makes sense. Just wanted to understand what we were doing to it :3 |
|
@bors r+ rollup |
compiler: Make Externally Implementable Item (eii) macros "semiopaque" Otherwise eiis defined by std will produce large amounts of `missing stability attribute` errors. This problem is not eii specific, as can be seen in rust-lang#146993 and which is demonstrated in rust-lang#151022. As can be seen with ```console $ git grep rustc_macro_transparency compiler/rustc_arena/src/lib.rs:#[rustc_macro_transparency = "semiopaque"] [...] ``` it is very common for macros to use `"semiopaque"`. r? @jdonszelmann Tracking issue: rust-lang#125418 Needed for: rust-lang#150588
compiler: Make Externally Implementable Item (eii) macros "semiopaque" Otherwise eiis defined by std will produce large amounts of `missing stability attribute` errors. This problem is not eii specific, as can be seen in rust-lang#146993 and which is demonstrated in rust-lang#151022. As can be seen with ```console $ git grep rustc_macro_transparency compiler/rustc_arena/src/lib.rs:#[rustc_macro_transparency = "semiopaque"] [...] ``` it is very common for macros to use `"semiopaque"`. r? @jdonszelmann Tracking issue: rust-lang#125418 Needed for: rust-lang#150588
…uwer Rollup of 12 pull requests Successful merges: - #150585 (Add a context-consistency check before emitting redundant generic-argument suggestions) - #150586 (rustdoc: Fix intra-doc link bugs involving type aliases and associated items) - #150590 (Don't try to recover keyword as non-keyword identifier ) - #150817 (cleanup: remove borrowck handling for inline const patterns) - #150939 (resolve: Relax some asserts in glob overwriting and add tests) - #150966 (rustc_target: Remove unused Arch::PowerPC64LE) - #150971 (Disallow eii in statement position) - #151016 (fix: WASI threading regression by disabling pthread usage) - #151046 (compiler: Make Externally Implementable Item (eii) macros "semiopaque") - #151103 (mir_build: Simplify length-determination and indexing for array/slice patterns) - #151117 (Avoid serde dependency in build_helper when not necessary) - #151127 (Delete `MetaItemOrLitParser::Err`) r? @ghost
compiler: Make Externally Implementable Item (eii) macros "semiopaque" Otherwise eiis defined by std will produce large amounts of `missing stability attribute` errors. This problem is not eii specific, as can be seen in rust-lang#146993 and which is demonstrated in rust-lang#151022. As can be seen with ```console $ git grep rustc_macro_transparency compiler/rustc_arena/src/lib.rs:#[rustc_macro_transparency = "semiopaque"] [...] ``` it is very common for macros to use `"semiopaque"`. r? @jdonszelmann Tracking issue: rust-lang#125418 Needed for: rust-lang#150588
…uwer Rollup of 16 pull requests Successful merges: - #150585 (Add a context-consistency check before emitting redundant generic-argument suggestions) - #150586 (rustdoc: Fix intra-doc link bugs involving type aliases and associated items) - #150590 (Don't try to recover keyword as non-keyword identifier ) - #150817 (cleanup: remove borrowck handling for inline const patterns) - #150939 (resolve: Relax some asserts in glob overwriting and add tests) - #150962 (Remove `FeedConstTy` and provide ty when lowering const arg) - #150966 (rustc_target: Remove unused Arch::PowerPC64LE) - #150971 (Disallow eii in statement position) - #151016 (fix: WASI threading regression by disabling pthread usage) - #151046 (compiler: Make Externally Implementable Item (eii) macros "semiopaque") - #151099 (Recover parse gracefully from `<const N>`) - #151117 (Avoid serde dependency in build_helper when not necessary) - #151127 (Delete `MetaItemOrLitParser::Err`) - #151128 (Add temporary new bors e-mail address to the mailmap) - #151130 (resolve: Downgrade `ambiguous_glob_imports` to warn-by-default) - #151138 (Rename `rust.use-lld` to `rust.bootstrap-override-lld` in INSTALL.md) r? @ghost
…uwer Rollup of 15 pull requests Successful merges: - #150585 (Add a context-consistency check before emitting redundant generic-argument suggestions) - #150586 (rustdoc: Fix intra-doc link bugs involving type aliases and associated items) - #150590 (Don't try to recover keyword as non-keyword identifier ) - #150817 (cleanup: remove borrowck handling for inline const patterns) - #150939 (resolve: Relax some asserts in glob overwriting and add tests) - #150962 (Remove `FeedConstTy` and provide ty when lowering const arg) - #150966 (rustc_target: Remove unused Arch::PowerPC64LE) - #150971 (Disallow eii in statement position) - #151016 (fix: WASI threading regression by disabling pthread usage) - #151046 (compiler: Make Externally Implementable Item (eii) macros "semiopaque") - #151099 (Recover parse gracefully from `<const N>`) - #151117 (Avoid serde dependency in build_helper when not necessary) - #151127 (Delete `MetaItemOrLitParser::Err`) - #151128 (Add temporary new bors e-mail address to the mailmap) - #151138 (Rename `rust.use-lld` to `rust.bootstrap-override-lld` in INSTALL.md) r? @ghost
Rollup merge of #151046 - semiopaque-eii-fix, r=jdonszelmann compiler: Make Externally Implementable Item (eii) macros "semiopaque" Otherwise eiis defined by std will produce large amounts of `missing stability attribute` errors. This problem is not eii specific, as can be seen in #146993 and which is demonstrated in #151022. As can be seen with ```console $ git grep rustc_macro_transparency compiler/rustc_arena/src/lib.rs:#[rustc_macro_transparency = "semiopaque"] [...] ``` it is very common for macros to use `"semiopaque"`. r? @jdonszelmann Tracking issue: #125418 Needed for: #150588
…uwer Rollup of 15 pull requests Successful merges: - rust-lang/rust#150585 (Add a context-consistency check before emitting redundant generic-argument suggestions) - rust-lang/rust#150586 (rustdoc: Fix intra-doc link bugs involving type aliases and associated items) - rust-lang/rust#150590 (Don't try to recover keyword as non-keyword identifier ) - rust-lang/rust#150817 (cleanup: remove borrowck handling for inline const patterns) - rust-lang/rust#150939 (resolve: Relax some asserts in glob overwriting and add tests) - rust-lang/rust#150962 (Remove `FeedConstTy` and provide ty when lowering const arg) - rust-lang/rust#150966 (rustc_target: Remove unused Arch::PowerPC64LE) - rust-lang/rust#150971 (Disallow eii in statement position) - rust-lang/rust#151016 (fix: WASI threading regression by disabling pthread usage) - rust-lang/rust#151046 (compiler: Make Externally Implementable Item (eii) macros "semiopaque") - rust-lang/rust#151099 (Recover parse gracefully from `<const N>`) - rust-lang/rust#151117 (Avoid serde dependency in build_helper when not necessary) - rust-lang/rust#151127 (Delete `MetaItemOrLitParser::Err`) - rust-lang/rust#151128 (Add temporary new bors e-mail address to the mailmap) - rust-lang/rust#151138 (Rename `rust.use-lld` to `rust.bootstrap-override-lld` in INSTALL.md) r? @ghost
Otherwise eiis defined by std will produce large amounts of
missing stability attributeerrors. This problem is not eii specific, as can be seen in #146993 and which is demonstrated in #151022.As can be seen with
it is very common for macros to use
"semiopaque".r? @jdonszelmann
Tracking issue: #125418
Needed for: #150588