{
package Molecule;
- use strict;
- use warnings;
use Moose::Role;
package Molecule::Organic;
- use strict;
- use warnings;
use Moose::Role;
with 'Molecule';
excludes 'Molecule::Inorganic';
package Molecule::Inorganic;
- use strict;
- use warnings;
use Moose::Role;
with 'Molecule';
{
package My::Test1;
- use strict;
- use warnings;
use Moose;
::lives_ok {
} '... adding the role (w/ excluded roles) okay';
package My::Test2;
- use strict;
- use warnings;
use Moose;
::throws_ok {
'... adding the role w/ excluded role conflict dies okay';
package My::Test3;
- use strict;
- use warnings;
use Moose;
::lives_ok {
{
package Methane;
- use strict;
- use warnings;
use Moose;
with 'Molecule::Organic';
package My::Test4;
- use strict;
- use warnings;
use Moose;
extends 'Methane';