X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FFunction-Parameters.git;a=blobdiff_plain;f=lib%2FFunction%2FParameters%2FInfo.pm;fp=lib%2FFunction%2FParameters%2FInfo.pm;h=6c624ffea14cff83f2823beaab46cd569dfc144c;hp=ffec6076f827876cf54814897fafa9870d80542a;hb=1f8c776ed00b3f61a0404973643163423d7c7bdd;hpb=13a9d4474a2eb95e4d84d546a2bcf4a976213452 diff --git a/lib/Function/Parameters/Info.pm b/lib/Function/Parameters/Info.pm index ffec607..6c624ff 100644 --- a/lib/Function/Parameters/Info.pm +++ b/lib/Function/Parameters/Info.pm @@ -6,13 +6,15 @@ use warnings; our $VERSION = '0.04'; # If Moo isn't loaded yet but Moose is, avoid pulling in Moo and fall back to Moose -my $Moo; +my ($Moo, $meta_make_immutable); BEGIN { if ($INC{'Moose.pm'} && !$INC{'Moo.pm'}) { $Moo = 'Moose'; + $meta_make_immutable = sub { $_[0]->meta->make_immutable }; } else { require Moo; $Moo = 'Moo'; + $meta_make_immutable = sub {}; } $Moo->import; } @@ -28,7 +30,7 @@ BEGIN { has $_ => (is => 'ro') for qw(name type); - __PACKAGE__->meta->make_immutable; + __PACKAGE__->$meta_make_immutable; } my @pn_ro = glob '{positional,named}_{required,optional}'; @@ -62,7 +64,7 @@ sub args_max { $r } -__PACKAGE__->meta->make_immutable; +__PACKAGE__->$meta_make_immutable; 'ok'