Skip to content

fix(resolution): resolve constants under implicit namespaces - #1088

Open
efegokdemir wants to merge 1 commit into
Shopify:mainfrom
efegokdemir:efe/fix-implicit-namespace-superclass
Open

efegokdemir wants to merge 1 commit into
Shopify:mainfrom
efegokdemir:efe/fix-implicit-namespace-superclass

Conversation

@efegokdemir

Copy link
Copy Markdown

A compactly defined namespace can begin as a TODO and later be promoted to a class or module. That promotion was losing its tracked descendants, leaving child classes with stale ancestor chains and top-level constant references unresolved. This preserves descendant tracking and re-invalidates affected descendants in the same resolution pass. Regression tests cover implicit and explicit namespaces plus a sibling-superclass control against both resolver backends. The failing case was reproduced before the fix. Verified: Rust workspace tests (1,163 rubydex tests, 9 CLI tests, 12 rubydex-sys tests and 2 doctests), Clippy, formatting, build and a Ruby runtime check. Fixes #1087.

@efegokdemir
efegokdemir requested a review from a team as a code owner October 25, 2026 15:39

This branch has not been deployed

No deployments
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.

Constant reference unresolved inside a class nested in its own superclass when the outer namespace is only implied by compact definitions

1 participant