From b0f06ab260062418c59d57961320bfee79b4cf57 Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Tue, 1 Sep 2026 11:20:54 -0700 Subject: [PATCH 1/2] Fix nightly Token check This fixes the scheduled job when it was trying the Token permutation. The problem is that proc-macro2 is failing for some inputs. In particular it was having problems with CR in string continuations (https://github.com/dtolnay/proc-macro2/issues/540). There probably should be a better mechanism for identifying inputs that are known to fail and to allow them. This can be difficult with generated inputs since keeping that list up-to-date can be a challenge. It would likely be best to have some automated tooling to help with that. For now, this just disables the proc-macro2 validation for generated Token inputs. --- .github/workflows/daily-grammar-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/daily-grammar-check.yml b/.github/workflows/daily-grammar-check.yml index f5e5305d4d..82bfe736be 100644 --- a/.github/workflows/daily-grammar-check.yml +++ b/.github/workflows/daily-grammar-check.yml @@ -39,7 +39,7 @@ jobs: continue-on-error: true run: | cargo run --release -p grammar-check -- lex-compare --path rust - cargo run --release -p grammar-check -- lex-compare --permute Token + cargo run --release -p grammar-check -- lex-compare --permute Token --tool rustc_parse - name: Check for existing open issues if: steps.grammar-check.outcome == 'failure' From a219e886bcb1c900991dda5754095e25b88715ff Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Tue, 1 Sep 2026 11:24:11 -0700 Subject: [PATCH 2/2] Include the ThreeIterator permutation checks This adds the 3-character Token validation checks. It checks every permutation of characters in the range 0..=0x7F for length one, two, and three. This results in 4,227,328 checks which on my system takes about 22 seconds. On CI it will be much longer, but should be tolerable on a nightly job. --- .github/workflows/daily-grammar-check.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/daily-grammar-check.yml b/.github/workflows/daily-grammar-check.yml index 82bfe736be..7cf4417528 100644 --- a/.github/workflows/daily-grammar-check.yml +++ b/.github/workflows/daily-grammar-check.yml @@ -40,6 +40,7 @@ jobs: run: | cargo run --release -p grammar-check -- lex-compare --path rust cargo run --release -p grammar-check -- lex-compare --permute Token --tool rustc_parse + cargo run --release -p grammar-check -- lex-compare --permute three - name: Check for existing open issues if: steps.grammar-check.outcome == 'failure'