@@ -6,7 +6,7 @@ use crate::ext::base::{SyntaxExtension, SyntaxExtensionKind};
6
6
use crate :: ext:: expand:: { AstFragment , AstFragmentKind } ;
7
7
use crate :: ext:: mbe;
8
8
use crate :: ext:: mbe:: macro_check;
9
- use crate :: ext:: mbe:: macro_parser:: { parse, parse_failure_msg } ;
9
+ use crate :: ext:: mbe:: macro_parser:: parse;
10
10
use crate :: ext:: mbe:: macro_parser:: { Error , Failure , Success } ;
11
11
use crate :: ext:: mbe:: macro_parser:: { MatchedNonterminal , MatchedSeq , NamedParseResult } ;
12
12
use crate :: ext:: mbe:: transcribe:: transcribe;
@@ -15,6 +15,7 @@ use crate::parse::parser::Parser;
15
15
use crate :: parse:: token:: TokenKind :: * ;
16
16
use crate :: parse:: token:: { self , NtTT , Token } ;
17
17
use crate :: parse:: { Directory , ParseSess } ;
18
+ use crate :: print:: pprust;
18
19
use crate :: symbol:: { kw, sym, Symbol } ;
19
20
use crate :: tokenstream:: { DelimSpan , TokenStream , TokenTree } ;
20
21
@@ -1176,3 +1177,15 @@ impl TokenTree {
1176
1177
parse ( cx. parse_sess ( ) , tts, mtch, Some ( directory) , true )
1177
1178
}
1178
1179
}
1180
+
1181
+ /// Generates an appropriate parsing failure message. For EOF, this is "unexpected end...". For
1182
+ /// other tokens, this is "unexpected token...".
1183
+ fn parse_failure_msg ( tok : & Token ) -> String {
1184
+ match tok. kind {
1185
+ token:: Eof => "unexpected end of macro invocation" . to_string ( ) ,
1186
+ _ => format ! (
1187
+ "no rules expected the token `{}`" ,
1188
+ pprust:: token_to_string( tok) ,
1189
+ ) ,
1190
+ }
1191
+ }
0 commit comments