@@ -241,20 +241,13 @@ struct TokenCursor {
241
241
struct TokenCursorFrame {
242
242
delim : token:: DelimToken ,
243
243
span : DelimSpan ,
244
- open_delim : bool ,
245
244
tree_cursor : tokenstream:: Cursor ,
246
245
close_delim : bool ,
247
246
}
248
247
249
248
impl TokenCursorFrame {
250
- fn new (
251
- span : DelimSpan ,
252
- delim : DelimToken ,
253
- open_delim : bool ,
254
- tts : TokenStream ,
255
- close_delim : bool ,
256
- ) -> Self {
257
- TokenCursorFrame { delim, span, open_delim, tree_cursor : tts. into_trees ( ) , close_delim }
249
+ fn new ( span : DelimSpan , delim : DelimToken , tts : TokenStream , close_delim : bool ) -> Self {
250
+ TokenCursorFrame { delim, span, tree_cursor : tts. into_trees ( ) , close_delim }
258
251
}
259
252
}
260
253
@@ -267,13 +260,7 @@ impl TokenCursor {
267
260
#[ inline( always) ]
268
261
fn inlined_next ( & mut self , desugar_doc_comments : bool ) -> ( Token , Spacing ) {
269
262
loop {
270
- if !self . frame . open_delim {
271
- self . frame . open_delim = true ;
272
- return (
273
- Token :: new ( token:: OpenDelim ( self . frame . delim ) , self . frame . span . open ) ,
274
- Spacing :: Alone ,
275
- ) ;
276
- } else if let Some ( ( tree, spacing) ) = self . frame . tree_cursor . next_with_spacing ( ) {
263
+ if let Some ( ( tree, spacing) ) = self . frame . tree_cursor . next_with_spacing ( ) {
277
264
return match tree {
278
265
TokenTree :: Token ( token) => match ( desugar_doc_comments, & token) {
279
266
( true , & Token { kind : token:: DocComment ( _, attr_style, data) , span } ) => {
@@ -283,7 +270,7 @@ impl TokenCursor {
283
270
} ,
284
271
TokenTree :: Delimited ( sp, delim, tts) => {
285
272
// Set `open_delim` to true here because we deal with it immediately.
286
- let frame = TokenCursorFrame :: new ( sp, delim, true , tts, false ) ;
273
+ let frame = TokenCursorFrame :: new ( sp, delim, tts, false ) ;
287
274
self . stack . push ( mem:: replace ( & mut self . frame , frame) ) ;
288
275
( Token :: new ( token:: OpenDelim ( delim) , sp. open ) , Spacing :: Alone )
289
276
}
@@ -335,7 +322,6 @@ impl TokenCursor {
335
322
TokenCursorFrame :: new (
336
323
delim_span,
337
324
token:: NoDelim ,
338
- true ,
339
325
if attr_style == AttrStyle :: Inner {
340
326
[ TokenTree :: token ( token:: Pound , span) , TokenTree :: token ( token:: Not , span) , body]
341
327
. iter ( )
@@ -436,8 +422,7 @@ impl<'a> Parser<'a> {
436
422
desugar_doc_comments : bool ,
437
423
subparser_name : Option < & ' static str > ,
438
424
) -> Self {
439
- let start_frame =
440
- TokenCursorFrame :: new ( DelimSpan :: dummy ( ) , token:: NoDelim , true , tokens, true ) ;
425
+ let start_frame = TokenCursorFrame :: new ( DelimSpan :: dummy ( ) , token:: NoDelim , tokens, true ) ;
441
426
442
427
let mut parser = Parser {
443
428
sess,
0 commit comments