## name No collision ## failures 0 ## cut package Role; use Moose::Role; sub role {} package Class; use Moose; with 'Role'; sub class {} #----------------------------------------------------------------------------- ## name Name collision ## failures 1 ## cut package Role; use Moose::Role; sub foo {} package Class; use Moose; with 'Role'; sub foo {} #----------------------------------------------------------------------------- ## name Name collision with exclusion ## failures 0 ## cut package Role; use Moose::Role; sub foo {} package Class; use Moose; with 'Role' => { excludes => 'foo' }; sub foo {} #----------------------------------------------------------------------------- ## name Name collision from two roles ## failures 1 ## cut package Role::A; use Moose::Role; sub foo {} package Role::B; use Moose::Role; sub foo {} package Class; use Moose; with 'Role::A'; with 'Role::B'; #----------------------------------------------------------------------------- ## name Name collision with aliasing ## failures 0 ## cut package Role; use Moose::Role; sub foo {} package Class; use Moose; with 'Role' => { alias => { foo => 'foo_bar' } }; sub foo {}