David A. Black a ˝─rit :
> I agree that the non-special case should be what it is now, and the
> case where you don't want overriding should be the one that requires
> something extra.  But I don't think it should be based on overloading
> "self" (and I believe having "self" refer to the class context, rather
> than the object, is a kind of overloading).  If this mechanism is
> really necessary, I would rather see:
> 
>   class C
>     def process
>       # ...
>       C#util
>     end
>   end
> 
> which is, I think, a more direct way of saying: protect this call from
> overriding in subclasses.  (Yes, everybody, I do know that this is
> comment syntax and would require a parser change :-)
> 
> 
> David
> 

  class C
   def process
    # ...
    C::util
   end
  end

equivalent to

  class C
   def process
    # ...
    self.C::util
   end
  end

equivalent to

  class C
   def process
    # ...
    self.(C::util)
   end
  end

--
Lionel Thiry