diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2022-12-23 01:17:50 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-12-23 01:17:50 +0100 |
| commit | 3e58de240c2a2e9b71d93f2d9f2d0c7e82ab345a (patch) | |
| tree | f5e86871c97b45a20775b95b5e3c1e8b1d75e67d | |
| parent | 8a97b4812a7a46bb5206487c2455b9c5bfcbd1b9 (diff) | |
| parent | 164e22109b697ed0bc7dd62039362b2fb5482ef9 (diff) | |
| download | rust-3e58de240c2a2e9b71d93f2d9f2d0c7e82ab345a.tar.gz rust-3e58de240c2a2e9b71d93f2d9f2d0c7e82ab345a.zip | |
Rollup merge of #105978 - jyn514:unused_proc_macro_decl, r=tmiasko
Mark `proc_macro_decls_static` as always used This would have avoided a bug in https://github.com/rust-lang/rust/pull/104860. In practice this shouldn't matter since nothing uses the query other than the `dead_code` lint, but this isn't documented as an internal-only query so it seems nice for it to be accurate. I think for `dead_code` it doesn't matter because the relevant code is generated by `rustc_builtin_macros` and isn't linted. I think `@tmiasko` or `@bjorn3` would be a good reviewer? r? `@tmiasko`
| -rw-r--r-- | compiler/rustc_builtin_macros/src/proc_macro_harness.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/proc-macro/quote-debug.stdout | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/compiler/rustc_builtin_macros/src/proc_macro_harness.rs b/compiler/rustc_builtin_macros/src/proc_macro_harness.rs index ece660cf6f6..b88de224675 100644 --- a/compiler/rustc_builtin_macros/src/proc_macro_harness.rs +++ b/compiler/rustc_builtin_macros/src/proc_macro_harness.rs @@ -262,6 +262,7 @@ impl<'a> Visitor<'a> for CollectProcMacros<'a> { // use proc_macro::bridge::client::ProcMacro; // // #[rustc_proc_macro_decls] +// #[used] // #[allow(deprecated)] // static DECLS: &[ProcMacro] = &[ // ProcMacro::custom_derive($name_trait1, &[], ::$name1); @@ -364,6 +365,7 @@ fn mk_decls(cx: &mut ExtCtxt<'_>, macros: &[ProcMacro]) -> P<ast::Item> { ) .map(|mut i| { i.attrs.push(cx.attr_word(sym::rustc_proc_macro_decls, span)); + i.attrs.push(cx.attr_word(sym::used, span)); i.attrs.push(cx.attr_nested_word(sym::allow, sym::deprecated, span)); i }); diff --git a/src/test/ui/proc-macro/quote-debug.stdout b/src/test/ui/proc-macro/quote-debug.stdout index d2cc5c6e2a3..9f64a1e06b9 100644 --- a/src/test/ui/proc-macro/quote-debug.stdout +++ b/src/test/ui/proc-macro/quote-debug.stdout @@ -42,6 +42,7 @@ const _: () = { extern crate proc_macro; #[rustc_proc_macro_decls] + #[used] #[allow(deprecated)] static _DECLS: &[proc_macro::bridge::client::ProcMacro] = &[]; }; |
