diff options
| author | Joshua Nelson <github@jyn.dev> | 2022-12-22 11:16:29 -0600 |
|---|---|---|
| committer | Joshua Nelson <github@jyn.dev> | 2022-12-22 12:02:53 -0600 |
| commit | 164e22109b697ed0bc7dd62039362b2fb5482ef9 (patch) | |
| tree | 50cedda16a713045a1b75ac24cd45b95bb2f3cbc | |
| parent | 2d76a9df5d040e8dfcb23e01fc3847c628d833e4 (diff) | |
| download | rust-164e22109b697ed0bc7dd62039362b2fb5482ef9.tar.gz rust-164e22109b697ed0bc7dd62039362b2fb5482ef9.zip | |
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.
| -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] = &[]; }; |
