File tree 3 files changed +13
-13
lines changed 3 files changed +13
-13
lines changed Original file line number Diff line number Diff line change @@ -541,9 +541,10 @@ impl MetaItemKind {
541
541
match * self {
542
542
MetaItemKind :: Word => TokenStream :: default ( ) ,
543
543
MetaItemKind :: NameValue ( ref lit) => {
544
- let mut vec = vec ! [ TokenTree :: token( token:: Eq , span) . into( ) ] ;
545
- lit. tokens ( ) . append_to_tree_and_joint_vec ( & mut vec) ;
546
- TokenStream :: new ( vec)
544
+ TokenStream :: new ( vec ! [
545
+ TokenTree :: token( token:: Eq , span) . into( ) ,
546
+ lit. token_tree( ) . into( ) ,
547
+ ] )
547
548
}
548
549
MetaItemKind :: List ( ref list) => {
549
550
let mut tokens = Vec :: new ( ) ;
@@ -606,7 +607,7 @@ impl NestedMetaItem {
606
607
fn tokens ( & self ) -> TokenStream {
607
608
match * self {
608
609
NestedMetaItem :: MetaItem ( ref item) => item. tokens ( ) ,
609
- NestedMetaItem :: Literal ( ref lit) => lit. tokens ( ) ,
610
+ NestedMetaItem :: Literal ( ref lit) => lit. token_tree ( ) . into ( ) ,
610
611
}
611
612
}
612
613
Original file line number Diff line number Diff line change 3
3
use crate :: ast:: { self , Lit , LitKind } ;
4
4
use crate :: parse:: token:: { self , Token } ;
5
5
use crate :: symbol:: { kw, sym, Symbol } ;
6
- use crate :: tokenstream:: { TokenStream , TokenTree } ;
6
+ use crate :: tokenstream:: TokenTree ;
7
7
8
8
use log:: debug;
9
9
use rustc_data_structures:: sync:: Lrc ;
@@ -216,13 +216,13 @@ impl Lit {
216
216
Lit { token : kind. to_lit_token ( ) , kind, span }
217
217
}
218
218
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 {
221
221
let token = match self . token . kind {
222
222
token:: Bool => token:: Ident ( self . token . symbol , false ) ,
223
223
_ => token:: Literal ( self . token ) ,
224
224
} ;
225
- TokenTree :: token ( token, self . span ) . into ( )
225
+ TokenTree :: token ( token, self . span )
226
226
}
227
227
}
228
228
Original file line number Diff line number Diff line change @@ -6,7 +6,6 @@ use crate::tokenstream::{TokenStream, TokenTree};
6
6
use crate :: source_map:: Span ;
7
7
8
8
use log:: debug;
9
- use smallvec:: smallvec;
10
9
11
10
#[ derive( Debug ) ]
12
11
enum InnerAttributeParsePolicy < ' a > {
@@ -193,15 +192,15 @@ impl<'a> Parser<'a> {
193
192
is_interpolated_expr = true ;
194
193
}
195
194
}
196
- let tokens = if is_interpolated_expr {
195
+ let token_tree = if is_interpolated_expr {
197
196
// We need to accept arbitrary interpolated expressions to continue
198
197
// supporting things like `doc = $expr` that work on stable.
199
198
// Non-literal interpolated expressions are rejected after expansion.
200
- self . parse_token_tree ( ) . into ( )
199
+ self . parse_token_tree ( )
201
200
} else {
202
- self . parse_unsuffixed_lit ( ) ?. tokens ( )
201
+ self . parse_unsuffixed_lit ( ) ?. token_tree ( )
203
202
} ;
204
- TokenStream :: from_streams ( smallvec ! [ eq. into( ) , tokens ] )
203
+ TokenStream :: new ( vec ! [ eq. into( ) , token_tree . into ( ) ] )
205
204
} else {
206
205
TokenStream :: default ( )
207
206
} ;
You can’t perform that action at this time.
0 commit comments