Eero Saynatkari wrote:
> Nope -- but my inference from that is that Module#name
> should always be the real name, and that overriding it
> is undefined behaviour.
> 
> The problem in Rubinius occurs because @name is where
> the name is *actually* stored...I am not sure if it is
> at all feasible to try to come up with a general rule
> for overridability of builtin classes' methods or ivars
> (aside from always placing the responsibility on users.)

I agree there's no way to come up with a general rule, and I think 
specific exceptions to "it should just work" should only be considered 
when it severely limits one or more implementations. In this case, since 
rubinius can just change internal code to use something other than 
Module#name or @name to retrieve the real, original, actual name, I 
don't think it warrants an exception.

- Charlie