From: tenderlove@... Date: 2015-05-15T19:10:42+00:00 Subject: [ruby-core:69206] [Ruby trunk - Bug #11155] [Open] Files named 'b' cannot be autoloaded Issue #11155 has been reported by Aaron Patterson. ---------------------------------------- Bug #11155: Files named 'b' cannot be autoloaded https://bugs.ruby-lang.org/issues/11155 * Author: Aaron Patterson * Status: Open * Priority: Normal * Assignee: * ruby -v: ruby 2.3.0dev (2015-05-14 trunk 50494) [x86_64-darwin14] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN ---------------------------------------- I have two files: a.rb ~~~ruby module A autoload :C, 'b' end p ::A::C ~~~ b.rb ~~~ruby 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 `': uninitialized constant A::C (NameError) from /Users/aaron/git/xxx/b.rb:2:in `' from a.rb:5:in `require' from a.rb:5:in `
' [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 `autoload`. -- https://bugs.ruby-lang.org/