From: eregontp@... Date: 2020-05-24T14:52:43+00:00 Subject: [ruby-core:98504] [Ruby master Misc#16910] BasicObject is resolved in BasicObject Issue #16910 has been updated by Eregon (Benoit Daloze). Actually I looked too fast, the correct location is https://github.com/ruby/ruby/blob/b10c9d201222b144df7d63660d1c731af53c4ae2/class.c#L551-L559 So it's defined as a constant of itself (BasicObject) and not Object because Object is not defined yet it seems. Those constants could probably be defined later though. ---------------------------------------- Misc #16910: BasicObject is resolved in BasicObject https://bugs.ruby-lang.org/issues/16910#change-85781 * Author: fxn (Xavier Noria) * Status: Closed * Priority: Normal ---------------------------------------- I categorized this as Misc because I do not really know if this is a bug, or perhaps I miss some special rule in the resolution of relative constants. Basically, I would expect ```ruby class C < BasicObject BasicObject end ``` or, even simpler, ```ruby class BasicObject BasicObject end ``` to raise `NameError`. Reason would be that top-level constants are stored in `Object`, which is not among the ancestors in any of the two examples above. Is my reasoning flawed or is it a bug? If flawed, which is the correct reasoning? -- https://bugs.ruby-lang.org/ Unsubscribe: