diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MooseX/NonMoose/Meta/Role/Class.pm | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/lib/MooseX/NonMoose/Meta/Role/Class.pm b/lib/MooseX/NonMoose/Meta/Role/Class.pm index cef62d6..e8524a2 100644 --- a/lib/MooseX/NonMoose/Meta/Role/Class.pm +++ b/lib/MooseX/NonMoose/Meta/Role/Class.pm @@ -10,9 +10,11 @@ has replace_constructor => ( around _make_immutable_transformer => sub { my $orig = shift; my $self = shift; - my @args = @_; - unshift @args, replace_constructor => 1 if $self->replace_constructor; - $self->$orig(@args); + my %args = @_; + return $self->$orig(@_) if exists $args{inline_constructor} + && !$args{inline_constructor}; + $args{replace_constructor} = 1 if $self->replace_constructor; + $self->$orig(%args); }; around superclasses => sub { |