Skip to content

refactor: preserve resolver source-path boundaries - #2037

Closed
shunichironomura wants to merge 1 commit into
mainfrom
refactor/small-invariant-leftovers
Closed

shunichironomura wants to merge 1 commit into
mainfrom
refactor/small-invariant-leftovers

Conversation

@shunichironomura

@shunichironomura shunichironomura commented Oct 11, 2026 •

Copy link
Copy Markdown
Member

Warning

This content was written by an AI agent and must be verified by a human developer. After human verification, this alert may be removed.

Summary

  • Preserve the source alias boundary alongside declaration resolution, so HIR lowering does not classify a successfully resolved alias again. Keep separate classification only for elaborated overlay bindings the resolver cannot reach.
  • Keep resolver facts in a small upstream contracts module; update the layer map and regenerate the reading order without introducing cycles or exceptions.
  • Add resolver and HIR tests for local/selective-import paths, imported/include aliases, nested paths, and overlay bindings. Language syntax, diagnostics, and editor features remain unchanged.

Closes #1952; relates to #1947.

The three unused eval API removals for #1949 are now on the separate lower branch refactor/remove-unused-eval-apis. This PR targets that branch and contains only the resolver refactor.

Validation

  • The combined tree is unchanged by the branch split. Before splitting, just test passed, including Lean conformance, workspace tests, playground tests, and embedded-engine/report runtime tests; CI passed.
  • Workspace Clippy (all features and no default features), Rustfmt, docs with warnings denied, Cargo check, fuzz metadata, playground checks, dependency-layer checks, refactor metrics, and reading-order checks passed.
  • just lint stopped at the RustSec advisory refresh because the local SSH agent could not authenticate. Both dependency audits passed separately using --no-fetch against the existing advisory database, and all remaining lint steps passed.

AI assistance

  • AI used: yes — investigation, implementation, tests, branch split, and PR preparation.
  • Human review of AI-assisted code: pending.

Breaking changes

  • No breaking changes
  • Breaking changes; the breaking change label is applied

@shunichironomura
shunichironomura force-pushed the refactor/small-invariant-leftovers branch from 8bb39d9 to e6085c3 Compare October 11, 2026 01:26
@shunichironomura shunichironomura changed the title refactor: preserve source-path facts and trim unused eval APIs refactor: preserve resolver source-path boundaries Oct 11, 2026
@shunichironomura
shunichironomura changed the base branch from main to refactor/remove-unused-eval-apis October 11, 2026 01:27
@shunichironomura
shunichironomura added this pull request to stack #2039 October 11, 2026 01:32
Base automatically changed from refactor/remove-unused-eval-apis to main October 11, 2026 01:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Classify alias.member once during HIR lowering

1 participant