diff options
| author | Nicholas Nethercote <n.nethercote@gmail.com> | 2024-08-12 10:27:19 +1000 |
|---|---|---|
| committer | Nicholas Nethercote <n.nethercote@gmail.com> | 2024-08-12 13:00:12 +1000 |
| commit | 46b4c5adc5698c3e9543e17a1ed0f8073bafd1d3 (patch) | |
| tree | 8848fa0a76b4e994a1adc220d686eb1173b4ed4b /compiler/rustc_parse/src | |
| parent | fac77538022b32b4298833b541feb457ca4548b0 (diff) | |
| download | rust-46b4c5adc5698c3e9543e17a1ed0f8073bafd1d3.tar.gz rust-46b4c5adc5698c3e9543e17a1ed0f8073bafd1d3.zip | |
Fix bug in `Parser::look_ahead`.
The special case was failing to handle invisible delimiters on one path. Fixes #128895.
Diffstat (limited to 'compiler/rustc_parse/src')
| -rw-r--r-- | compiler/rustc_parse/src/parser/mod.rs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/rustc_parse/src/parser/mod.rs b/compiler/rustc_parse/src/parser/mod.rs index 4b8e4c25e16..5e29cee9db6 100644 --- a/compiler/rustc_parse/src/parser/mod.rs +++ b/compiler/rustc_parse/src/parser/mod.rs @@ -1166,10 +1166,12 @@ impl<'a> Parser<'a> { match self.token_cursor.tree_cursor.look_ahead(0) { Some(tree) => { // Indexing stayed within the current token tree. - return match tree { - TokenTree::Token(token, _) => looker(token), - TokenTree::Delimited(dspan, _, delim, _) => { - looker(&Token::new(token::OpenDelim(*delim), dspan.open)) + match tree { + TokenTree::Token(token, _) => return looker(token), + &TokenTree::Delimited(dspan, _, delim, _) => { + if delim != Delimiter::Invisible { + return looker(&Token::new(token::OpenDelim(delim), dspan.open)); + } } }; } |
