@@ -263,7 +263,7 @@ impl TokenCursor {
263263 & TokenTree :: Delimited ( sp, delim, ref tts) => {
264264 let trees = tts. clone ( ) . into_trees ( ) ;
265265 self . stack . push ( ( mem:: replace ( & mut self . tree_cursor , trees) , delim, sp) ) ;
266- if delim != Delimiter :: Invisible {
266+ if !delim . skip ( ) {
267267 return ( Token :: new ( token:: OpenDelim ( delim) , sp. open ) , Spacing :: Alone ) ;
268268 }
269269 // No open delimiter to return; continue on to the next iteration.
@@ -272,7 +272,7 @@ impl TokenCursor {
272272 } else if let Some ( ( tree_cursor, delim, span) ) = self . stack . pop ( ) {
273273 // We have exhausted this token stream. Move back to its parent token stream.
274274 self . tree_cursor = tree_cursor;
275- if delim != Delimiter :: Invisible {
275+ if !delim . skip ( ) {
276276 return ( Token :: new ( token:: CloseDelim ( delim) , span. close ) , Spacing :: Alone ) ;
277277 }
278278 // No close delimiter to return; continue on to the next iteration.
@@ -1046,7 +1046,7 @@ impl<'a> Parser<'a> {
10461046 }
10471047 debug_assert ! ( !matches!(
10481048 next. 0 . kind,
1049- token:: OpenDelim ( Delimiter :: Invisible ) | token:: CloseDelim ( Delimiter :: Invisible )
1049+ token:: OpenDelim ( delim ) | token:: CloseDelim ( delim ) if delim . skip ( )
10501050 ) ) ;
10511051 self . inlined_bump_with ( next)
10521052 }
@@ -1060,17 +1060,17 @@ impl<'a> Parser<'a> {
10601060 }
10611061
10621062 if let Some ( & ( _, delim, span) ) = self . token_cursor . stack . last ( )
1063- && delim != Delimiter :: Invisible
1063+ && !delim . skip ( )
10641064 {
10651065 // We are not in the outermost token stream, and the token stream
10661066 // we are in has non-skipped delimiters. Look for skipped
10671067 // delimiters in the lookahead range.
10681068 let tree_cursor = & self . token_cursor . tree_cursor ;
1069- let all_normal = ( 0 ..dist) . all ( |i| {
1069+ let any_skip = ( 0 ..dist) . any ( |i| {
10701070 let token = tree_cursor. look_ahead ( i) ;
1071- ! matches ! ( token, Some ( TokenTree :: Delimited ( _, Delimiter :: Invisible , _) ) )
1071+ matches ! ( token, Some ( TokenTree :: Delimited ( _, delim , _) ) if delim . skip ( ) )
10721072 } ) ;
1073- if all_normal {
1073+ if !any_skip {
10741074 // There were no skipped delimiters. Do lookahead by plain indexing.
10751075 return match tree_cursor. look_ahead ( dist - 1 ) {
10761076 Some ( tree) => {
@@ -1101,7 +1101,7 @@ impl<'a> Parser<'a> {
11011101 token = cursor. next ( ) . 0 ;
11021102 if matches ! (
11031103 token. kind,
1104- token:: OpenDelim ( Delimiter :: Invisible ) | token:: CloseDelim ( Delimiter :: Invisible )
1104+ token:: OpenDelim ( delim ) | token:: CloseDelim ( delim ) if delim . skip ( )
11051105 ) {
11061106 continue ;
11071107 }
0 commit comments