Files named 'b' cannot be autoloaded
I have two files:
module A autoload :C, 'b' end p ::A::C
puts "START" module A class C end end puts "FINISH"
When I run a.rb, I get an exception:
[aaron@TC xxx (master)]$ ruby --disable-gems -I. a.rb START /Users/aaron/git/xxx/b.rb:3:in `<module:A>': uninitialized constant A::C (NameError) from /Users/aaron/git/xxx/b.rb:2:in `<top (required)>' from a.rb:5:in `require' from a.rb:5:in `<main>' [aaron@TC xxx (master)]$
If I change the file to something else, like
c, then the exception will not happen. This seems to break on every version that implements
Updated by Anonymous about 5 years ago
- Status changed from Open to Closed
Applied in changeset r50515.
load.c (loaded_feature_path): stop returning false negatives for
filenames which are trailing substrings of file extensions. For
example, 'b', which a trailing substring of ".rb" should not return
false. [Bug #11155][ruby-core:69206]
test/ruby/test_autoload.rb: test for fix