8 package My::Singleton::Role;
11 sub foo { 'My::Singleton::Role' }
13 package My::Role::Metaclass;
15 BEGIN { extends 'Moose::Meta::Role' };
17 sub _role_for_combination {
18 my ($self, $opts) = @_;
20 return My::Singleton::Role->meta;
23 package My::Special::Role;
24 use Moose::Role -metaclass => 'My::Role::Metaclass';
26 sub foo { 'My::Special::Role' }
28 package My::Usual::Role;
31 sub bar { 'My::Usual::Role' }
37 'My::Special::Role' => { number => 1 },
38 'My::Usual::Role' => { number => 2 },
42 is(My::Class->foo, 'My::Singleton::Role', 'role_for_combination applied');
43 is(My::Class->bar, 'My::Usual::Role', 'collateral role');
44 is_deeply($OPTS, { number => 1 });