{{ message }}
Repository navigation
fix(memory-reference-resolver): preserve float64 metadata bounds - #1091
Open
jinchuntan wants to merge 1 commit into
Open
jinchuntan wants to merge 1 commit into
jinchuntan wants to merge 1 commit into
Conversation
Keep float64 type information on min/max results for declarations and pointer targets. Cover finite bounds and arithmetic while preserving integer pointer-slot bounds. Fixes 8f4e#1064 Assisted-by: Codex
irimias57
requested changes
Oct 20, 2026
Member
There was a problem hiding this comment.
Thank you for working on this, @jinchuntan! Please update this branch from main and regenerate and commit the compiler snapshot with npx nx run @8f4e/compiler:test --update, because main renamed the memory-layout fields from wordAlignedAddress/wordAlignedSize to allocationUnitAddress/allocationUnitCount after this branch was created.
This branch has not been deployed
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.

Fixes #1064.
min(value)andmax(value)dropped the float64 type. That caused type mismatches or converted finite bounds to infinity. The resolver now preserves the type for memory and pointer queries.Added tests for local and intermodule queries, pointers and arithmetic using the bounds. Pointer to pointer queries keep integer bounds.
Tested on Node 24.16.0:
npx nx run-many --targets=test,typecheck --projects=@8f4e/memory-reference-resolver,@8f4e/compiler --parallel=1 --output-style=static- 373 tests and both type checks passed.Biome and the repository pre commit checks also passed.