@@ -20,7 +20,7 @@ use crate::source_map::{BytePos, Spanned, dummy_spanned};
2020use crate :: parse:: lexer:: comments:: { doc_comment_style, strip_doc_comment_decoration} ;
2121use crate :: parse:: parser:: Parser ;
2222use crate :: parse:: { self , ParseSess , PResult } ;
23- use crate :: parse:: token:: { self , TokenKind } ;
23+ use crate :: parse:: token:: { self , Token , TokenKind } ;
2424use crate :: ptr:: P ;
2525use crate :: symbol:: { sym, Symbol } ;
2626use crate :: ThinVec ;
@@ -465,9 +465,9 @@ impl MetaItem {
465465 let mod_sep_span = Span :: new ( last_pos,
466466 segment. ident . span . lo ( ) ,
467467 segment. ident . span . ctxt ( ) ) ;
468- idents. push ( TokenTree :: Token ( mod_sep_span, token:: ModSep ) . into ( ) ) ;
468+ idents. push ( TokenTree :: token ( mod_sep_span, token:: ModSep ) . into ( ) ) ;
469469 }
470- idents. push ( TokenTree :: Token ( segment. ident . span ,
470+ idents. push ( TokenTree :: token ( segment. ident . span ,
471471 TokenKind :: from_ast_ident ( segment. ident ) ) . into ( ) ) ;
472472 last_pos = segment. ident . span . hi ( ) ;
473473 }
@@ -480,10 +480,10 @@ impl MetaItem {
480480 {
481481 // FIXME: Share code with `parse_path`.
482482 let path = match tokens. next ( ) {
483- Some ( TokenTree :: Token ( span , token @ token:: Ident ( ..) ) ) |
484- Some ( TokenTree :: Token ( span , token @ token:: ModSep ) ) => ' arm: {
485- let mut segments = if let token:: Ident ( ident, _) = token {
486- if let Some ( TokenTree :: Token ( _ , token:: ModSep ) ) = tokens. peek ( ) {
483+ Some ( TokenTree :: Token ( Token { kind : kind @ token:: Ident ( ..) , span } ) ) |
484+ Some ( TokenTree :: Token ( Token { kind : kind @ token:: ModSep , span } ) ) => ' arm: {
485+ let mut segments = if let token:: Ident ( ident, _) = kind {
486+ if let Some ( TokenTree :: Token ( Token { kind : token:: ModSep , .. } ) ) = tokens. peek ( ) {
487487 tokens. next ( ) ;
488488 vec ! [ PathSegment :: from_ident( ident. with_span_pos( span) ) ]
489489 } else {
@@ -493,13 +493,12 @@ impl MetaItem {
493493 vec ! [ PathSegment :: path_root( span) ]
494494 } ;
495495 loop {
496- if let Some ( TokenTree :: Token ( span,
497- token:: Ident ( ident, _) ) ) = tokens. next ( ) {
496+ if let Some ( TokenTree :: Token ( Token { kind : token:: Ident ( ident, _) , span } ) ) = tokens. next ( ) {
498497 segments. push ( PathSegment :: from_ident ( ident. with_span_pos ( span) ) ) ;
499498 } else {
500499 return None ;
501500 }
502- if let Some ( TokenTree :: Token ( _ , token:: ModSep ) ) = tokens. peek ( ) {
501+ if let Some ( TokenTree :: Token ( Token { kind : token:: ModSep , .. } ) ) = tokens. peek ( ) {
503502 tokens. next ( ) ;
504503 } else {
505504 break ;
@@ -508,7 +507,7 @@ impl MetaItem {
508507 let span = span. with_hi ( segments. last ( ) . unwrap ( ) . ident . span . hi ( ) ) ;
509508 Path { span, segments }
510509 }
511- Some ( TokenTree :: Token ( _ , token:: Interpolated ( nt) ) ) => match * nt {
510+ Some ( TokenTree :: Token ( Token { kind : token:: Interpolated ( nt) , .. } ) ) => match * nt {
512511 token:: Nonterminal :: NtIdent ( ident, _) => Path :: from_ident ( ident) ,
513512 token:: Nonterminal :: NtMeta ( ref meta) => return Some ( meta. clone ( ) ) ,
514513 token:: Nonterminal :: NtPath ( ref path) => path. clone ( ) ,
@@ -533,15 +532,15 @@ impl MetaItemKind {
533532 match * self {
534533 MetaItemKind :: Word => TokenStream :: empty ( ) ,
535534 MetaItemKind :: NameValue ( ref lit) => {
536- let mut vec = vec ! [ TokenTree :: Token ( span, token:: Eq ) . into( ) ] ;
535+ let mut vec = vec ! [ TokenTree :: token ( span, token:: Eq ) . into( ) ] ;
537536 lit. tokens ( ) . append_to_tree_and_joint_vec ( & mut vec) ;
538537 TokenStream :: new ( vec)
539538 }
540539 MetaItemKind :: List ( ref list) => {
541540 let mut tokens = Vec :: new ( ) ;
542541 for ( i, item) in list. iter ( ) . enumerate ( ) {
543542 if i > 0 {
544- tokens. push ( TokenTree :: Token ( span, token:: Comma ) . into ( ) ) ;
543+ tokens. push ( TokenTree :: token ( span, token:: Comma ) . into ( ) ) ;
545544 }
546545 item. tokens ( ) . append_to_tree_and_joint_vec ( & mut tokens) ;
547546 }
@@ -558,10 +557,10 @@ impl MetaItemKind {
558557 where I : Iterator < Item = TokenTree > ,
559558 {
560559 let delimited = match tokens. peek ( ) . cloned ( ) {
561- Some ( TokenTree :: Token ( _ , token:: Eq ) ) => {
560+ Some ( TokenTree :: Token ( token ) ) if token == token :: Eq => {
562561 tokens. next ( ) ;
563- return if let Some ( TokenTree :: Token ( span , token) ) = tokens. next ( ) {
564- Lit :: from_token ( & token, span) . ok ( ) . map ( MetaItemKind :: NameValue )
562+ return if let Some ( TokenTree :: Token ( token) ) = tokens. next ( ) {
563+ Lit :: from_token ( & token, token . span ) . ok ( ) . map ( MetaItemKind :: NameValue )
565564 } else {
566565 None
567566 } ;
@@ -579,7 +578,7 @@ impl MetaItemKind {
579578 let item = NestedMetaItem :: from_tokens ( & mut tokens) ?;
580579 result. push ( item) ;
581580 match tokens. next ( ) {
582- None | Some ( TokenTree :: Token ( _ , token:: Comma ) ) => { }
581+ None | Some ( TokenTree :: Token ( Token { kind : token:: Comma , .. } ) ) => { }
583582 _ => return None ,
584583 }
585584 }
@@ -605,8 +604,8 @@ impl NestedMetaItem {
605604 fn from_tokens < I > ( tokens : & mut iter:: Peekable < I > ) -> Option < NestedMetaItem >
606605 where I : Iterator < Item = TokenTree > ,
607606 {
608- if let Some ( TokenTree :: Token ( span , token) ) = tokens. peek ( ) . cloned ( ) {
609- if let Ok ( lit) = Lit :: from_token ( & token, span) {
607+ if let Some ( TokenTree :: Token ( token) ) = tokens. peek ( ) . cloned ( ) {
608+ if let Ok ( lit) = Lit :: from_token ( & token, token . span ) {
610609 tokens. next ( ) ;
611610 return Some ( NestedMetaItem :: Literal ( lit) ) ;
612611 }
0 commit comments