Actions
Bug #11155
closedFiles named 'b' cannot be autoloaded
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.3.0dev (2015-05-14 trunk 50494) [x86_64-darwin14]
Description
I have two files:
a.rb
module A
autoload :C, 'b'
end
p ::A::C
b.rb
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 autoload
.
Updated by Anonymous about 9 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
Updated by nobu (Nobuyoshi Nakada) about 9 years ago
- Description updated (diff)
- Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED
Updated by usa (Usaku NAKAMURA) about 9 years ago
- Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED to 2.0.0: REQUIRED, 2.1: DONE, 2.2: REQUIRED
ruby_2_1 r50805 merged revision(s) 50515.
Updated by nagachika (Tomoyuki Chikanaga) about 9 years ago
- Backport changed from 2.0.0: REQUIRED, 2.1: DONE, 2.2: REQUIRED to 2.0.0: REQUIRED, 2.1: DONE, 2.2: DONE
Backported into ruby_2_2
branch at r50835.
Actions
Like0
Like0Like0Like0Like0