@@ -244,8 +244,8 @@ pub fn compile<'cx>(cx: &'cx mut ExtCtxt,
244
244
// $( $lhs:tt => $rhs:tt );+
245
245
// ...quasiquoting this would be nice.
246
246
// These spans won't matter, anyways
247
- let match_lhs_tok = MatchNt ( lhs_nm, special_idents:: tt, token :: Plain , token :: Plain ) ;
248
- let match_rhs_tok = MatchNt ( rhs_nm, special_idents:: tt, token :: Plain , token :: Plain ) ;
247
+ let match_lhs_tok = MatchNt ( lhs_nm, special_idents:: tt) ;
248
+ let match_rhs_tok = MatchNt ( rhs_nm, special_idents:: tt) ;
249
249
let argument_gram = vec ! (
250
250
TokenTree :: Sequence ( DUMMY_SP ,
251
251
Rc :: new( ast:: SequenceRepetition {
@@ -415,7 +415,7 @@ fn check_matcher_old<'a, I>(cx: &mut ExtCtxt, matcher: I, follow: &Token, on_fai
415
415
let mut tokens = matcher. peekable ( ) ;
416
416
while let Some ( token) = tokens. next ( ) {
417
417
last = match * token {
418
- TokenTree :: Token ( sp, MatchNt ( ref name, ref frag_spec, _ , _ ) ) => {
418
+ TokenTree :: Token ( sp, MatchNt ( ref name, ref frag_spec) ) => {
419
419
// ii. If T is a simple NT, look ahead to the next token T' in
420
420
// M. If T' is in the set FOLLOW(NT), continue. Else; reject.
421
421
if can_be_followed_by_any ( & frag_spec. name . as_str ( ) ) {
@@ -881,7 +881,7 @@ fn check_matcher_core(cx: &mut ExtCtxt,
881
881
// Now `last` holds the complete set of NT tokens that could
882
882
// end the sequence before SUFFIX. Check that every one works with `suffix`.
883
883
' each_last: for & ( _sp, ref t) in & last. tokens {
884
- if let MatchNt ( ref name, ref frag_spec, _ , _ ) = * t {
884
+ if let MatchNt ( ref name, ref frag_spec) = * t {
885
885
for & ( sp, ref next_token) in & suffix_first. tokens {
886
886
match is_in_follow ( cx, next_token, & frag_spec. name . as_str ( ) ) {
887
887
Err ( msg) => {
@@ -917,9 +917,8 @@ fn check_matcher_core(cx: &mut ExtCtxt,
917
917
last
918
918
}
919
919
920
-
921
920
fn token_can_be_followed_by_any ( tok : & Token ) -> bool {
922
- if let & MatchNt ( _, ref frag_spec, _ , _ ) = tok {
921
+ if let & MatchNt ( _, ref frag_spec) = tok {
923
922
frag_can_be_followed_by_any ( & frag_spec. name . as_str ( ) )
924
923
} else {
925
924
// (Non NT's can always be followed by anthing in matchers.)
@@ -1005,18 +1004,17 @@ fn is_in_follow(_: &ExtCtxt, tok: &Token, frag: &str) -> Result<bool, String> {
1005
1004
"pat" => {
1006
1005
match * tok {
1007
1006
FatArrow | Comma | Eq | BinOp ( token:: Or ) => Ok ( true ) ,
1008
- Ident ( i, _ ) if ( i. name . as_str ( ) == "if" ||
1009
- i. name . as_str ( ) == "in" ) => Ok ( true ) ,
1007
+ Ident ( i) if ( i. name . as_str ( ) == "if" ||
1008
+ i. name . as_str ( ) == "in" ) => Ok ( true ) ,
1010
1009
_ => Ok ( false )
1011
1010
}
1012
1011
} ,
1013
1012
"path" | "ty" => {
1014
1013
match * tok {
1015
1014
OpenDelim ( token:: DelimToken :: Brace ) | OpenDelim ( token:: DelimToken :: Bracket ) |
1016
1015
Comma | FatArrow | Colon | Eq | Gt | Semi | BinOp ( token:: Or ) => Ok ( true ) ,
1017
- MatchNt ( _, ref frag, _, _) if frag. name . as_str ( ) == "block" => Ok ( true ) ,
1018
- Ident ( i, _) if ( i. name . as_str ( ) == "as" ||
1019
- i. name . as_str ( ) == "where" ) => Ok ( true ) ,
1016
+ MatchNt ( _, ref frag) if frag. name . as_str ( ) == "block" => Ok ( true ) ,
1017
+ Ident ( i) if i. name . as_str ( ) == "as" || i. name . as_str ( ) == "where" => Ok ( true ) ,
1020
1018
_ => Ok ( false )
1021
1019
}
1022
1020
} ,
@@ -1036,7 +1034,7 @@ fn is_in_follow(_: &ExtCtxt, tok: &Token, frag: &str) -> Result<bool, String> {
1036
1034
1037
1035
fn has_legal_fragment_specifier ( tok : & Token ) -> Result < ( ) , String > {
1038
1036
debug ! ( "has_legal_fragment_specifier({:?})" , tok) ;
1039
- if let & MatchNt ( _, ref frag_spec, _ , _ ) = tok {
1037
+ if let & MatchNt ( _, ref frag_spec) = tok {
1040
1038
let s = & frag_spec. name . as_str ( ) ;
1041
1039
if !is_legal_fragment_specifier ( s) {
1042
1040
return Err ( s. to_string ( ) ) ;
0 commit comments