From: kyonides via ruby-core Date: 2023-02-03T03:58:59+00:00 Subject: [ruby-core:112193] [Ruby master Bug#19405] Prevent Use of include CustomModule in a Nested Class Issue #19405 has been reported by kyonides (Edwin Acu�a). ---------------------------------------- Bug #19405: Prevent Use of include CustomModule in a Nested Class https://bugs.ruby-lang.org/issues/19405 * Author: kyonides (Edwin Acu�a) * Status: Open * Priority: Normal * ruby -v: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux-gnu] * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- 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. ``` ruby module MyModule class MyClass A = 'A' B = 'B' include MyModule end end ``` If you print something like: ``` ruby 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. =_=� -- https://bugs.ruby-lang.org/ ______________________________________________ ruby-core mailing list -- ruby-core@ml.ruby-lang.org To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/