In the below, the foo() from Bar cannot fulfill the requires of Baz.  Anything 
I'm missing?  (I know that there's an easy workaround of an explicit "sub foo() 
{ $_[0]->thing()->foo() }" in Bar; it's simply not what one would prefer.)


package Foo;

use Moose::Role;

sub foo {};


package Bar;

use Moose::Role;

has thing => (
    is      => 'ro',
    isa     => 'Foo',
    handles => [ 'foo' ],
);


package Baz;

use Moose::Role;

requires 'foo';


package Quux;

use Moose;

with qw< Bar Baz >;

Reply via email to