HaloO,

Jon Lang wrote:
Well, yes and no.  The class still has the final say on how a given
method is to be implemented; the only thing being debated here is
whether or not the class should have to explicitly pull rank to
redefine a method being provided by a role, or if it does so silently.
 The latter approach is how things currently stand, and is being
criticized as a source of bugs as authors of classes inadvertently
override method definitions that they didn't intend to override.

I think the distinction can be made implicitly. Methods in a role
with no implementation are silently overridden. Ones with an
implementation produce a warning if the composing class overrides
it without some extra syntax. This bites only the case where the
role provides a default implementation intended for overriding.

Regards, TSa.
--
"The unavoidable price of reliability is simplicity" -- C.A.R. Hoare
"Simplicity does not precede complexity, but follows it." -- A.J. Perlis
1 + 2 + 3 + 4 + ... = -1/12  -- Srinivasa Ramanujan

Reply via email to