On Wed, Oct 21, 2009 at 3:47 AM, Ovid <publiustemp-perl6langua...@yahoo.com> wrote: > I was asking the special case where: > > 1. A class consumes two (or more) roles > 2. Each roles provides a method with an identical signature > 3. The methods are not equivalent and neither role can rely on the other's > method > > > With that, you have roles which cannot be composed. You must rewrite one (bad > if you don't own it), or omit > one..
Rather than disallow the composition, I'd say that any class, role, or object that does both roles must override the method in question. Which takes us back to Jon's branch of the thread: it would be nice to be able to declare such an override in a general way that will apply to any such composition that doesn't otherwise override it locally. But what should that declaration look like? -- Mark J. Reed <markjr...@gmail.com>