File tree Expand file tree Collapse file tree 3 files changed +13
-13
lines changed
Expand file tree Collapse file tree 3 files changed +13
-13
lines changed Original file line number Diff line number Diff line change @@ -554,9 +554,10 @@ impl MetaItemKind {
554554 match * self {
555555 MetaItemKind :: Word => TokenStream :: default ( ) ,
556556 MetaItemKind :: NameValue ( ref lit) => {
557- let mut vec = vec ! [ TokenTree :: token( token:: Eq , span) . into( ) ] ;
558- lit. tokens ( ) . append_to_tree_and_joint_vec ( & mut vec) ;
559- TokenStream :: new ( vec)
557+ TokenStream :: new ( vec ! [
558+ TokenTree :: token( token:: Eq , span) . into( ) ,
559+ lit. token_tree( ) . into( ) ,
560+ ] )
560561 }
561562 MetaItemKind :: List ( ref list) => {
562563 let mut tokens = Vec :: new ( ) ;
@@ -619,7 +620,7 @@ impl NestedMetaItem {
619620 fn tokens ( & self ) -> TokenStream {
620621 match * self {
621622 NestedMetaItem :: MetaItem ( ref item) => item. tokens ( ) ,
622- NestedMetaItem :: Literal ( ref lit) => lit. tokens ( ) ,
623+ NestedMetaItem :: Literal ( ref lit) => lit. token_tree ( ) . into ( ) ,
623624 }
624625 }
625626
Original file line number Diff line number Diff line change @@ -7,7 +7,6 @@ use crate::tokenstream::{TokenStream, TokenTree};
77use crate :: source_map:: Span ;
88
99use log:: debug;
10- use smallvec:: smallvec;
1110
1211#[ derive( Debug ) ]
1312enum InnerAttributeParsePolicy < ' a > {
@@ -193,15 +192,15 @@ impl<'a> Parser<'a> {
193192 is_interpolated_expr = true ;
194193 }
195194 }
196- let tokens = if is_interpolated_expr {
195+ let token_tree = if is_interpolated_expr {
197196 // We need to accept arbitrary interpolated expressions to continue
198197 // supporting things like `doc = $expr` that work on stable.
199198 // Non-literal interpolated expressions are rejected after expansion.
200- self . parse_token_tree ( ) . into ( )
199+ self . parse_token_tree ( )
201200 } else {
202- self . parse_unsuffixed_lit ( ) ?. tokens ( )
201+ self . parse_unsuffixed_lit ( ) ?. token_tree ( )
203202 } ;
204- TokenStream :: from_streams ( smallvec ! [ eq. into( ) , tokens ] )
203+ TokenStream :: new ( vec ! [ eq. into( ) , token_tree . into ( ) ] )
205204 } else {
206205 TokenStream :: default ( )
207206 } ;
Original file line number Diff line number Diff line change 33use crate :: ast:: { self , Lit , LitKind } ;
44use crate :: parse:: token:: { self , Token } ;
55use crate :: symbol:: { kw, sym, Symbol } ;
6- use crate :: tokenstream:: { TokenStream , TokenTree } ;
6+ use crate :: tokenstream:: TokenTree ;
77
88use log:: debug;
99use rustc_data_structures:: sync:: Lrc ;
@@ -216,13 +216,13 @@ impl Lit {
216216 Lit { token : kind. to_lit_token ( ) , kind, span }
217217 }
218218
219- /// Losslessly convert an AST literal into a token stream .
220- crate fn tokens ( & self ) -> TokenStream {
219+ /// Losslessly convert an AST literal into a token tree .
220+ crate fn token_tree ( & self ) -> TokenTree {
221221 let token = match self . token . kind {
222222 token:: Bool => token:: Ident ( self . token . symbol , false ) ,
223223 _ => token:: Literal ( self . token ) ,
224224 } ;
225- TokenTree :: token ( token, self . span ) . into ( )
225+ TokenTree :: token ( token, self . span )
226226 }
227227}
228228
You can’t perform that action at this time.
0 commit comments