11#![ deny( rustc:: untranslatable_diagnostic) ]
22
3- use crate :: errors:: {
4- ArgumentNotAttributes , AttrNoArguments , AttributeMetaItem , AttributeSingleWord ,
5- AttributesWrongForm , CannotBeNameOfMacro , ExpectedCommaInList , HelperAttributeNameInvalid ,
6- MacroBodyStability , MacroConstStability , NotAMetaItem , OnlyOneArgument , OnlyOneWord ,
7- ResolveRelativePath , TakesNoArguments , TraceMacro ,
8- } ;
3+ use crate :: errors;
94use crate :: expand:: { self , AstFragment , Invocation } ;
105use crate :: module:: DirOwnership ;
116
@@ -796,13 +791,13 @@ impl SyntaxExtension {
796791 . unwrap_or_else ( || ( None , helper_attrs) ) ;
797792 let ( stability, const_stability, body_stability) = attr:: find_stability ( & sess, attrs, span) ;
798793 if let Some ( ( _, sp) ) = const_stability {
799- sess. emit_err ( MacroConstStability {
794+ sess. emit_err ( errors :: MacroConstStability {
800795 span : sp,
801796 head_span : sess. source_map ( ) . guess_head_span ( span) ,
802797 } ) ;
803798 }
804799 if let Some ( ( _, sp) ) = body_stability {
805- sess. emit_err ( MacroBodyStability {
800+ sess. emit_err ( errors :: MacroBodyStability {
806801 span : sp,
807802 head_span : sess. source_map ( ) . guess_head_span ( span) ,
808803 } ) ;
@@ -1143,7 +1138,7 @@ impl<'a> ExtCtxt<'a> {
11431138 }
11441139 pub fn trace_macros_diag ( & mut self ) {
11451140 for ( span, notes) in self . expansions . iter ( ) {
1146- let mut db = self . sess . parse_sess . create_note ( TraceMacro { span : * span } ) ;
1141+ let mut db = self . sess . parse_sess . create_note ( errors :: TraceMacro { span : * span } ) ;
11471142 for note in notes {
11481143 db. note ( note) ;
11491144 }
@@ -1197,7 +1192,7 @@ pub fn resolve_path(
11971192 . expect ( "attempting to resolve a file path in an external file" ) ,
11981193 FileName :: DocTest ( path, _) => path,
11991194 other => {
1200- return Err ( ResolveRelativePath {
1195+ return Err ( errors :: ResolveRelativePath {
12011196 span,
12021197 path : parse_sess. source_map ( ) . filename_for_diagnostics ( & other) . to_string ( ) ,
12031198 }
@@ -1279,7 +1274,7 @@ pub fn expr_to_string(
12791274/// done as rarely as possible).
12801275pub fn check_zero_tts ( cx : & ExtCtxt < ' _ > , span : Span , tts : TokenStream , name : & str ) {
12811276 if !tts. is_empty ( ) {
1282- cx. emit_err ( TakesNoArguments { span, name } ) ;
1277+ cx. emit_err ( errors :: TakesNoArguments { span, name } ) ;
12831278 }
12841279}
12851280
@@ -1307,14 +1302,14 @@ pub fn get_single_str_from_tts(
13071302) -> Option < Symbol > {
13081303 let mut p = cx. new_parser_from_tts ( tts) ;
13091304 if p. token == token:: Eof {
1310- cx. emit_err ( OnlyOneArgument { span, name } ) ;
1305+ cx. emit_err ( errors :: OnlyOneArgument { span, name } ) ;
13111306 return None ;
13121307 }
13131308 let ret = parse_expr ( & mut p) ?;
13141309 let _ = p. eat ( & token:: Comma ) ;
13151310
13161311 if p. token != token:: Eof {
1317- cx. emit_err ( OnlyOneArgument { span, name } ) ;
1312+ cx. emit_err ( errors :: OnlyOneArgument { span, name } ) ;
13181313 }
13191314 expr_to_string ( cx, ret, "argument must be a string literal" ) . map ( |( s, _) | s)
13201315}
@@ -1336,7 +1331,7 @@ pub fn get_exprs_from_tts(cx: &mut ExtCtxt<'_>, tts: TokenStream) -> Option<Vec<
13361331 continue ;
13371332 }
13381333 if p. token != token:: Eof {
1339- cx. emit_err ( ExpectedCommaInList { span : p. token . span } ) ;
1334+ cx. emit_err ( errors :: ExpectedCommaInList { span : p. token . span } ) ;
13401335 return None ;
13411336 }
13421337 }
@@ -1353,51 +1348,58 @@ pub fn parse_macro_name_and_helper_attrs(
13531348 // `#[proc_macro_derive(Foo, attributes(A, ..))]`
13541349 let list = attr. meta_item_list ( ) ?;
13551350 if list. len ( ) != 1 && list. len ( ) != 2 {
1356- diag. emit_err ( AttrNoArguments { span : attr. span } ) ;
1351+ diag. emit_err ( errors :: AttrNoArguments { span : attr. span } ) ;
13571352 return None ;
13581353 }
13591354 let Some ( trait_attr) = list[ 0 ] . meta_item ( ) else {
1360- diag. emit_err ( NotAMetaItem { span : list[ 0 ] . span ( ) } ) ;
1355+ diag. emit_err ( errors :: NotAMetaItem { span : list[ 0 ] . span ( ) } ) ;
13611356 return None ;
13621357 } ;
13631358 let trait_ident = match trait_attr. ident ( ) {
13641359 Some ( trait_ident) if trait_attr. is_word ( ) => trait_ident,
13651360 _ => {
1366- diag. emit_err ( OnlyOneWord { span : trait_attr. span } ) ;
1361+ diag. emit_err ( errors :: OnlyOneWord { span : trait_attr. span } ) ;
13671362 return None ;
13681363 }
13691364 } ;
13701365
13711366 if !trait_ident. name . can_be_raw ( ) {
1372- diag. emit_err ( CannotBeNameOfMacro { span : trait_attr. span , trait_ident, macro_type } ) ;
1367+ diag. emit_err ( errors:: CannotBeNameOfMacro {
1368+ span : trait_attr. span ,
1369+ trait_ident,
1370+ macro_type,
1371+ } ) ;
13731372 }
13741373
13751374 let attributes_attr = list. get ( 1 ) ;
13761375 let proc_attrs: Vec < _ > = if let Some ( attr) = attributes_attr {
13771376 if !attr. has_name ( sym:: attributes) {
1378- diag. emit_err ( ArgumentNotAttributes { span : attr. span ( ) } ) ;
1377+ diag. emit_err ( errors :: ArgumentNotAttributes { span : attr. span ( ) } ) ;
13791378 }
13801379 attr. meta_item_list ( )
13811380 . unwrap_or_else ( || {
1382- diag. emit_err ( AttributesWrongForm { span : attr. span ( ) } ) ;
1381+ diag. emit_err ( errors :: AttributesWrongForm { span : attr. span ( ) } ) ;
13831382 & [ ]
13841383 } )
13851384 . iter ( )
13861385 . filter_map ( |attr| {
13871386 let Some ( attr) = attr. meta_item ( ) else {
1388- diag. emit_err ( AttributeMetaItem { span : attr. span ( ) } ) ;
1387+ diag. emit_err ( errors :: AttributeMetaItem { span : attr. span ( ) } ) ;
13891388 return None ;
13901389 } ;
13911390
13921391 let ident = match attr. ident ( ) {
13931392 Some ( ident) if attr. is_word ( ) => ident,
13941393 _ => {
1395- diag. emit_err ( AttributeSingleWord { span : attr. span } ) ;
1394+ diag. emit_err ( errors :: AttributeSingleWord { span : attr. span } ) ;
13961395 return None ;
13971396 }
13981397 } ;
13991398 if !ident. name . can_be_raw ( ) {
1400- diag. emit_err ( HelperAttributeNameInvalid { span : attr. span , name : ident } ) ;
1399+ diag. emit_err ( errors:: HelperAttributeNameInvalid {
1400+ span : attr. span ,
1401+ name : ident,
1402+ } ) ;
14011403 }
14021404
14031405 Some ( ident. name )
0 commit comments