diff --git a/compiler/rustc_lint/src/internal.rs b/compiler/rustc_lint/src/internal.rs index 57fa14acdc1..0872a8a2095 100644 --- a/compiler/rustc_lint/src/internal.rs +++ b/compiler/rustc_lint/src/internal.rs @@ -352,8 +352,7 @@ declare_tool_lint! { declare_tool_lint! { /// The `diagnostic_outside_of_impl` lint detects calls to functions annotated with /// `#[rustc_lint_diagnostics]` that are outside an `Diagnostic`, `Subdiagnostic`, or - /// `LintDiagnostic` impl, or a `#[derive(Diagnostic)]`, `#[derive(Subdiagnostic)]`, - /// `#[derive(LintDiagnostic)]` expansion. + /// `LintDiagnostic` impl (either hand-written or derived). /// /// More details on diagnostics implementations can be found /// [here](https://rustc-dev-guide.rust-lang.org/diagnostics/diagnostic-structs.html). diff --git a/compiler/rustc_macros/src/diagnostics/mod.rs b/compiler/rustc_macros/src/diagnostics/mod.rs index 044bbadf41c..389d88bebc7 100644 --- a/compiler/rustc_macros/src/diagnostics/mod.rs +++ b/compiler/rustc_macros/src/diagnostics/mod.rs @@ -6,7 +6,7 @@ mod utils; use diagnostic::{DiagnosticDerive, LintDiagnosticDerive}; use proc_macro2::TokenStream; -use subdiagnostic::SubdiagnosticDeriveBuilder; +use subdiagnostic::SubdiagnosticDerive; use synstructure::Structure; /// Implements `#[derive(Diagnostic)]`, which allows for errors to be specified as a struct, @@ -55,7 +55,7 @@ use synstructure::Structure; /// /// See rustc dev guide for more examples on using the `#[derive(Diagnostic)]`: /// -pub fn session_diagnostic_derive(mut s: Structure<'_>) -> TokenStream { +pub fn diagnostic_derive(mut s: Structure<'_>) -> TokenStream { s.underscore_const(true); DiagnosticDerive::new(s).into_tokens() } @@ -153,7 +153,7 @@ pub fn lint_diagnostic_derive(mut s: Structure<'_>) -> TokenStream { /// /// diag.subdiagnostic(RawIdentifierSuggestion { span, applicability, ident }); /// ``` -pub fn session_subdiagnostic_derive(mut s: Structure<'_>) -> TokenStream { +pub fn subdiagnostic_derive(mut s: Structure<'_>) -> TokenStream { s.underscore_const(true); - SubdiagnosticDeriveBuilder::new().into_tokens(s) + SubdiagnosticDerive::new().into_tokens(s) } diff --git a/compiler/rustc_macros/src/diagnostics/subdiagnostic.rs b/compiler/rustc_macros/src/diagnostics/subdiagnostic.rs index cda9de66a55..ced782cdbc0 100644 --- a/compiler/rustc_macros/src/diagnostics/subdiagnostic.rs +++ b/compiler/rustc_macros/src/diagnostics/subdiagnostic.rs @@ -17,12 +17,12 @@ use synstructure::{BindingInfo, Structure, VariantInfo}; use super::utils::SubdiagnosticVariant; /// The central struct for constructing the `add_to_diag` method from an annotated struct. -pub(crate) struct SubdiagnosticDeriveBuilder { +pub(crate) struct SubdiagnosticDerive { diag: syn::Ident, f: syn::Ident, } -impl SubdiagnosticDeriveBuilder { +impl SubdiagnosticDerive { pub(crate) fn new() -> Self { let diag = format_ident!("diag"); let f = format_ident!("f"); @@ -109,7 +109,7 @@ impl SubdiagnosticDeriveBuilder { /// double mut borrow later on. struct SubdiagnosticDeriveVariantBuilder<'parent, 'a> { /// The identifier to use for the generated `Diag` instance. - parent: &'parent SubdiagnosticDeriveBuilder, + parent: &'parent SubdiagnosticDerive, /// Info for the current variant (or the type if not an enum). variant: &'a VariantInfo<'a>, diff --git a/compiler/rustc_macros/src/lib.rs b/compiler/rustc_macros/src/lib.rs index 14e6a06839e..eedc508fb14 100644 --- a/compiler/rustc_macros/src/lib.rs +++ b/compiler/rustc_macros/src/lib.rs @@ -118,7 +118,7 @@ decl_derive!( suggestion, suggestion_short, suggestion_hidden, - suggestion_verbose)] => diagnostics::session_diagnostic_derive + suggestion_verbose)] => diagnostics::diagnostic_derive ); decl_derive!( [LintDiagnostic, attributes( @@ -156,5 +156,5 @@ decl_derive!( skip_arg, primary_span, suggestion_part, - applicability)] => diagnostics::session_subdiagnostic_derive + applicability)] => diagnostics::subdiagnostic_derive );