diff options
| author | bors <bors@rust-lang.org> | 2017-07-11 04:04:11 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2017-07-11 04:04:11 +0000 |
| commit | 1999bfaa9f961ce2e0c82e97f9bc152d5ce5ed72 (patch) | |
| tree | 74733e43e94e408c8ff016c4532e1337402198b3 /src/libsyntax/parse | |
| parent | 9228d231fc05488647c6d72516b527963310ac2d (diff) | |
| parent | 600800480a750978a5ed6d29188056e950ae2075 (diff) | |
| download | rust-1999bfaa9f961ce2e0c82e97f9bc152d5ce5ed72.tar.gz rust-1999bfaa9f961ce2e0c82e97f9bc152d5ce5ed72.zip | |
Auto merge of #42913 - kennytm:fix-40569-ident-without-backtrack, r=jseyfried
Only match a fragment specifier the if it starts with certain tokens. When trying to match a fragment specifier, we first predict whether the current token can be matched at all. If it cannot be matched, don't bother to push the Earley item to `bb_eis`. This can fix a lot of issues which otherwise requires full backtracking (#42838). In this PR the prediction treatment is not done for `:item`, `:stmt` and `:tt`, but it could be expanded in the future. Fixes #24189. Fixes #26444. Fixes #27832. Fixes #34030. Fixes #35650. Fixes #39964. Fixes the 4th comment in #40569. Fixes the issue blocking #40984.
Diffstat (limited to 'src/libsyntax/parse')
0 files changed, 0 insertions, 0 deletions
