Actions
Bug #21091
closedrecursive require not detected on case insensitive filesystem
Status:
Third Party's Issue
Assignee:
-
Target version:
-
ruby -v:
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [arm64-darwin24]
Description
On case insensitive filesystems require
ing a file from itself causes the file to be require
d twice if the initial require
and the require
inside the file have different capitalization.
I expect the second require
to return false, and not execute the file a second time.
~ % cat /tmp/foo.rb
puts "loading #{__FILE__}"
require "/tmp/foo"
SOME_GLOBAL = "foobar".freeze
~ % ruby -r/tmp/FOO
loading /tmp/FOO.rb
loading /tmp/foo.rb
/tmp/FOO.rb:3: warning: already initialized constant SOME_GLOBAL
/tmp/foo.rb:3: warning: previous definition of SOME_GLOBAL was here
This is on macOS 15.1.1, using the default case-insensitive APFS, and ruby 3.4.1.
Actions
Like0
Like0Like0