diff options
Diffstat (limited to 'compiler/rustc_macros/src/lib.rs')
| -rw-r--r-- | compiler/rustc_macros/src/lib.rs | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/compiler/rustc_macros/src/lib.rs b/compiler/rustc_macros/src/lib.rs index b53ef816135..b01e01414e8 100644 --- a/compiler/rustc_macros/src/lib.rs +++ b/compiler/rustc_macros/src/lib.rs @@ -1,5 +1,6 @@ -#![feature(proc_macro_diagnostic)] #![feature(allow_internal_unstable)] +#![feature(let_else)] +#![feature(proc_macro_diagnostic)] #![allow(rustc::default_hash_types)] #![recursion_limit = "128"] @@ -7,12 +8,12 @@ use synstructure::decl_derive; use proc_macro::TokenStream; +mod diagnostics; mod hash_stable; mod lift; mod newtype; mod query; mod serialize; -mod session_diagnostic; mod symbols; mod type_foldable; @@ -72,8 +73,24 @@ decl_derive!( skip_arg, primary_span, label, + subdiagnostic, suggestion, suggestion_short, suggestion_hidden, - suggestion_verbose)] => session_diagnostic::session_diagnostic_derive + suggestion_verbose)] => diagnostics::session_diagnostic_derive +); +decl_derive!( + [SessionSubdiagnostic, attributes( + // struct/variant attributes + label, + help, + note, + suggestion, + suggestion_short, + suggestion_hidden, + suggestion_verbose, + // field attributes + skip_arg, + primary_span, + applicability)] => diagnostics::session_subdiagnostic_derive ); |
