Repository navigation
fix(compiler): preserve immutable constant names in Rust - #6010
Merged
dmitrii-f-t27 merged 1 commit intoOct 4, 2026
Merged
Conversation
This was referenced Oct 4, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A valid immutable t27 constant such as
type_documentationkept its public spelling but failed Rust-D warningswithnon_upper_case_globals. Emit the allowance on that immutable value declaration only, preserving its exact API, type and value. Uppercase constants, mutable statics, type aliases, other backends and unrelated diagnostics remain unchanged.Actual baseline: three controls pass and two naming regressions fail. Five strict Rust 1.96 tests pass after the fix, including 258 independent runtime values, caller-visible uppercase module state, a type-correct source value mutant that fails execution, and real unsigned-comparison and lowercase-mutable-static rejection controls. Full bootstrap: 2822 passed, zero failed, two ignored across 122 targets; corpus ratchet retains 95 expected failures and cap126.
Native audit of all 804 referenced sealed specs finds Rust-only changes in 25 specs/52 aliases. Actual RAW hashes match the seal path; only immutable declaration naming attributes change, with no new standalone diagnostic classes/counts. All old52 hashes matched the accepted baseline before native save/verify without force. Honest native reports remain 23 BLOCKED/2 PASS. Coverage stays 1449/1325/124 and the debt ledger is unchanged. A broader unpublished static version exposed old hanging/failing testbenches; those sources/seals are outside this change.
The stricter common-wrapper tri-net102 compile-only preview remains78 passing/zero regressions; integration_framework retains three unused-assignment warnings. This is not full corpus success or tri-net compiler PIN adoption. The branch is aligned to accepted repeat canonical d72b871 and uses its current native hook policy.
Closes #5994