use Moose;
extends 'Moose::Meta::Role';
+use MooseX::Role::Parameterized::Meta::Role::Parameterized;
use MooseX::Role::Parameterized::Parameters;
has parameter_metaclass => (
confess "A role generator is required to generate roles"
unless $self->has_role_generator;
+ my $parameters = $self->construct_parameters(%args);
+
my $metaclass = Moose::Meta::Class->create_anon_class(
- superclasses => ['Moose::Meta::Role'],
+ superclasses => ['MooseX::Role::Parameterized::Meta::Role::Parameterized'],
+ );
+ my $role = $metaclass->construct_instance(
+ parameters => $parameters,
);
- my $role = $metaclass->construct_instance;
-
- my $parameters = $self->construct_parameters(%args);
local $MooseX::Role::Parameterized::CURRENT_METACLASS = $role;
$self->role_generator->($parameters,