From b8d44dda6b6dd2e6eaac42e4b23748cbbe50a97d Mon Sep 17 00:00:00 2001 From: Jay Date: Fri, 23 Oct 2026 02:58:22 -0400 Subject: [PATCH] Fix constant resolution in nested scopes Signed-off-by: Jay --- lib/rbs/resolver/constant_resolver.rb | 2 +- test/rbs/resolver/constant_resolver_test.rb | 23 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/lib/rbs/resolver/constant_resolver.rb b/lib/rbs/resolver/constant_resolver.rb index 7bd0f12482..7185cd042f 100644 --- a/lib/rbs/resolver/constant_resolver.rb +++ b/lib/rbs/resolver/constant_resolver.rb @@ -129,8 +129,8 @@ def load_context_constants(context) constants_from_ancestors(BuiltinNames::Object.name, constants: consts) end - constants_from_context(context, constants: consts) or return constants_itself(context, constants: consts) + constants_from_context(context, constants: consts) or return context_constants_cache[context] = consts end diff --git a/test/rbs/resolver/constant_resolver_test.rb b/test/rbs/resolver/constant_resolver_test.rb index 05c7c6cb33..0ca29f92ad 100644 --- a/test/rbs/resolver/constant_resolver_test.rb +++ b/test/rbs/resolver/constant_resolver_test.rb @@ -121,6 +121,29 @@ class Bar end end + def test_reference_constant_context_prefers_nested_constant_over_scope_name + SignatureManager.new do |manager| + manager.files[Pathname("foo.rbs")] = <