From a9b6a3c4926f182638d359e3bd28b697f19f1717 Mon Sep 17 00:00:00 2001 From: Travis Cross Date: Sun, 30 Aug 2026 17:08:25 +0000 Subject: [PATCH] Order grammar summary deterministically In `load_grammar`, we were walking files in directory-entry order. This may not be the same order in two places, leading to sections and rules sorted in different orders in the grammar summary. Let's sort by file name so as to produce deterministic results. --- tools/grammar/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/grammar/src/lib.rs b/tools/grammar/src/lib.rs index 29bc231e9b..82abd128b7 100644 --- a/tools/grammar/src/lib.rs +++ b/tools/grammar/src/lib.rs @@ -259,7 +259,7 @@ pub static GRAMMAR_RE: LazyLock = pub fn load_grammar(diag: &mut Diagnostics) -> Grammar { let mut grammar = Grammar::default(); let base = Path::new(env!("CARGO_MANIFEST_DIR")).join("../../src"); - for entry in WalkDir::new(&base) { + for entry in WalkDir::new(&base).sort_by_file_name() { let entry = entry.unwrap(); let path = entry.path(); if path.extension().and_then(|s| s.to_str()) != Some("md") {