@@ -35,7 +35,8 @@ use tracing::debug;
3535
3636use crate :: errors:: {
3737 self , AddedMacroUse , ChangeImportBinding , ChangeImportBindingSuggestion , ConsiderAddingADerive ,
38- ExplicitUnsafeTraits , MacroDefinedLater , MacroSuggMovePosition , MaybeMissingMacroRulesName ,
38+ ExplicitUnsafeTraits , MacroDefinedLater , MacroRulesNot , MacroSuggMovePosition ,
39+ MaybeMissingMacroRulesName ,
3940} ;
4041use crate :: imports:: { Import , ImportKind } ;
4142use crate :: late:: { PatternSource , Rib } ;
@@ -1473,8 +1474,19 @@ impl<'ra, 'tcx> Resolver<'ra, 'tcx> {
14731474 let scope = self . local_macro_def_scopes [ & def_id] ;
14741475 let parent_nearest = parent_scope. module . nearest_parent_mod ( ) ;
14751476 if Some ( parent_nearest) == scope. opt_def_id ( ) {
1476- err. subdiagnostic ( MacroDefinedLater { span : unused_ident. span } ) ;
1477- err. subdiagnostic ( MacroSuggMovePosition { span : ident. span , ident } ) ;
1477+ match macro_kind {
1478+ MacroKind :: Bang => {
1479+ err. subdiagnostic ( MacroDefinedLater { span : unused_ident. span } ) ;
1480+ err. subdiagnostic ( MacroSuggMovePosition { span : ident. span , ident } ) ;
1481+ }
1482+ MacroKind :: Attr => {
1483+ err. subdiagnostic ( MacroRulesNot :: Attr { span : unused_ident. span , ident } ) ;
1484+ }
1485+ MacroKind :: Derive => {
1486+ err. subdiagnostic ( MacroRulesNot :: Derive { span : unused_ident. span , ident } ) ;
1487+ }
1488+ }
1489+
14781490 return ;
14791491 }
14801492 }
0 commit comments