Actions
Bug #19405
closedPrevent Use of include CustomModule in a Nested Class
Status:
Rejected
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux-gnu]
Description
Bug present ever since Ruby 1.8.
Tested in Ruby 2.7 and 3.0 as well.
I would like to request the developers to prevent any person from doing something as illogical and useless as the code I have provided you with right below.
module MyModule
class MyClass
A = 'A'
B = 'B'
include MyModule
end
end
If you print something like:
puts MyModule::MyClass::MyClass::MyClass::MyClass::MyClass::MyClass::MyClass::MyClass::MyClass::MyClass::MyClass::MyClass::MyClass::MyClass::MyClass::MyClass::B
Ruby will let you do it!
Why is it possible to chain the calls to MyClass class forever and ever?
It should throw an error for including the very same module and class where the constants are nested.
Proposed Error Class:
"ModuleError: Class nested in module %s cannot call include method to add the same module."
Or something the like. =_=¡
Actions
Like0
Like0