I have the following sig defined:
# resolver/resolver.rbs
module HTTPX
module Resolver
class Resolver
end
end
end
# resolver.rbs
module HTTPX
module Resolver
def self?.resolver_for: () -> singleton(Resolver::Resolver)
end
end
runtime evaluation using runtime rbs/tester.rb fails though, because the parsed type for the method return is wrong, i.e. it evaluates to a RBS::Types::ClassSingleton instance with a namespace declaring @path=[:Resolver], which when evaluated to to_s, evaluates to Resolver::Resolver, instead of HTTPX::Resolver::Resolver.
I found two workarounds:
def self?.resolver_for: () -> singleton(HTTPX::Resolver::Resolver) #=> absolute namespace, bypasses issues
def self?.resolver_for: () -> singleton(Resolver) #=> resolves to class Resolver instead of module Resolver, which seems wrong