Actions
Bug #10741
closedconst_defined? triggers autoload where it did not before
Description
This should not cause b.rb to load, but it does in 2.2:
~/projects/jruby $ cat a.rb
module Foo
autoload :Bar, 'b.rb'
end
p Foo.const_defined?('Bar')
~/projects/jruby $ cat b.rb
puts "in b"
module Foo
Bar = 1
end
~/projects/jruby $ rvm ruby-2.0 do ruby -I. a.rb
true
~/projects/jruby $ rvm ruby-2.1 do ruby -I. a.rb
in b
true
~/projects/jruby $ rvm ruby-2.2 do ruby -I. a.rb
in b
true
This is likely caused by the :: support in const_get/const_defined not doing autoload-free traversal.
Actions
Like0
Like0Like0Like0Like0Like0