Module#const_defined? returns true for unreachable nested fully qualified module name.
Here are the results of const_defined? for each ruby version on my machine.
% ruby -e "module A; end; B = 1; p Object.const_defined?('A::B')"
[1.9.3-p551, 2.0.0-p648]
-e:1:in `const_defined?': wrong constant name A::B (NameError)
from -e:1:in `<main>'
[2.1.10, 2.2.10, 2.3.8, 2.4.6, 2.5.5, 2.6.0]
false
[2.6.1, 2.6.2, 2.6.3]
true
[2.7.0-dev (2019-05-25 trunk 559dca509d)]
false
For (2.6.1...2.6.3), it fails to reference the constant even though const_defined? returns true. So IMO this should be const_defined?'s bug.
% ruby -e "module A; end; B = 1; p Object.const_defined?('A::B') && A::B"
-e:1:in `<main>': uninitialized constant A::B (NameError)