> What you get by self.class::C is the desirable behaviour in the 99%
of
> cases: thus C is visible from subclasses' instances as well, but can
be
> overridden in a subclass. As one would expect in an object oriented
> environment.

I beleive I agree. I have started to think that the idea of a
_constant_ has no place in Ruby all together. I say, throw the warning
about constant redefinition away.

> And it's such a stupid accident that the method which sets the right
> receiver just can't be used without the "self." prefix...

Yes, it is kind of silly and I'm suprised it can't be handled. I've
suggested __class__ before as a reserved backup, though that isn't all
that succinct either.
 
T.