{
package Foo::Role;
- use strict;
- use warnings;
use Moose::Role;
# if does() exists on its own, then
has 'bar' => (is => 'rw', does => 'Bar::Role');
package Bar::Role;
- use strict;
- use warnings;
use Moose::Role;
# if isa and does appear together, then see if Class->does(Role)
has 'foo' => (is => 'rw', isa => 'Foo::Class', does => 'Foo::Role');
package Foo::Class;
- use strict;
- use warnings;
use Moose;
with 'Foo::Role';
package Bar::Class;
- use strict;
- use warnings;
use Moose;
with 'Bar::Role';
{
package Baz::Class;
- use strict;
- use warnings;
use Moose;
# if isa and does appear together, then see if Class->does(Role)
sub bling { 'Bling::bling' }
package Bling::Bling;
- use strict;
- use warnings;
use Moose;
# if isa and does appear together, then see if Class->does(Role)