Summary
The bootstrap crate (and possibly other workspace members) use semver-range dependency specifiers (e.g. pest_generator = "2.1.1", quote = "1.0") but no Cargo.lock is committed to the repository. This means the generated meta/src/grammar.rs can change between CI runs as upstream dependencies release new versions, which undermines the check-grammar-sync CI gate introduced in #1159.
Recommended Fix
Follow the Cargo FAQ guidance on checking in Cargo.lock:
- Run
cargo generate-lockfile (or simply cargo build) at the repository root.
- Commit the resulting
Cargo.lock file.
- Add a CI step or update existing steps to ensure the lockfile stays up to date.
Context
Raised during review of #1159 (comment: #1159 (comment)) by @konstin.
This is a pre-existing condition, not introduced by #1159, but it is now more visible because grammar.rs is kept in tree and verified in CI.
References
Summary
The
bootstrapcrate (and possibly other workspace members) use semver-range dependency specifiers (e.g.pest_generator = "2.1.1",quote = "1.0") but noCargo.lockis committed to the repository. This means the generatedmeta/src/grammar.rscan change between CI runs as upstream dependencies release new versions, which undermines thecheck-grammar-syncCI gate introduced in #1159.Recommended Fix
Follow the Cargo FAQ guidance on checking in
Cargo.lock:cargo generate-lockfile(or simplycargo build) at the repository root.Cargo.lockfile.Context
Raised during review of #1159 (comment: #1159 (comment)) by @konstin.
This is a pre-existing condition, not introduced by #1159, but it is now more visible because
grammar.rsis kept in tree and verified in CI.References
grammar.rsin tree #1159