Add generic named type instances - #97
Open
itsfuad wants to merge 1 commit into
Open
Conversation
Parse explicit type applications and multi-segment qualified paths while preserving comparison and shift parsing. Resolve declaration-owned type parameters through one syntax conversion path, cache concrete instances in CompilerContext, and purge owner instances on incremental reset. Preserve nominal enum identity and lower concrete struct and interface instances through existing HIR, MIR, and LLVM paths. Path, substitution, traversal, and cache helpers centralize shared semantic invariants; none are pass-through compatibility wrappers. Validated with full uncached tests, vet, race tests, compiler build, bundled-binary x_test, gofmt, and git diff checks.
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.
Summary
This PR is stacked on #88. It does not add public named-enum declarations, construction, is tests, or match syntax.
Validation
Deferred work
Rules check
No pass-through compatibility wrappers, stale aliases, ignored parameters, duplicate type walkers, or parallel lowering paths were added. New path, substitution, traversal, and cache helpers centralize shared semantic invariants.