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 @@ -554,9 +554,10 @@ impl MetaItemKind {
554
554
match * self {
555
555
MetaItemKind :: Word => TokenStream :: default ( ) ,
556
556
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
+ ] )
560
561
}
561
562
MetaItemKind :: List ( ref list) => {
562
563
let mut tokens = Vec :: new ( ) ;
@@ -619,7 +620,7 @@ impl NestedMetaItem {
619
620
fn tokens ( & self ) -> TokenStream {
620
621
match * self {
621
622
NestedMetaItem :: MetaItem ( ref item) => item. tokens ( ) ,
622
- NestedMetaItem :: Literal ( ref lit) => lit. tokens ( ) ,
623
+ NestedMetaItem :: Literal ( ref lit) => lit. token_tree ( ) . into ( ) ,
623
624
}
624
625
}
625
626
Original file line number Diff line number Diff line change @@ -7,7 +7,6 @@ use crate::tokenstream::{TokenStream, TokenTree};
7
7
use crate :: source_map:: Span ;
8
8
9
9
use log:: debug;
10
- use smallvec:: smallvec;
11
10
12
11
#[ derive( Debug ) ]
13
12
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
} ;
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
You can’t perform that action at this time.
0 commit comments