X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMoose%2FMeta%2FMethod%2FAccessor%2FNative%2FArray%2Fpop.pm;h=affed16c5df368f98799bc6bdce5624b92a46659;hb=aff6aafcfff96c2a91bd044e35010757feae584c;hp=f1851523911d94f419b8f48894be8812be40315a;hpb=584540d9166f6651182e953c57a10d9648fea1a9;p=gitmo%2FMoose.git diff --git a/lib/Moose/Meta/Method/Accessor/Native/Array/pop.pm b/lib/Moose/Meta/Method/Accessor/Native/Array/pop.pm index f185152..affed16 100644 --- a/lib/Moose/Meta/Method/Accessor/Native/Array/pop.pm +++ b/lib/Moose/Meta/Method/Accessor/Native/Array/pop.pm @@ -3,11 +3,20 @@ package Moose::Meta::Method::Accessor::Native::Array::pop; use strict; use warnings; -our $VERSION = '1.14'; +our $VERSION = '1.18'; $VERSION = eval $VERSION; our $AUTHORITY = 'cpan:STEVAN'; -use base 'Moose::Meta::Method::Accessor::Native::Array::Writer'; +use Moose::Role; + +with 'Moose::Meta::Method::Accessor::Native::Array::Writer' => { + -excludes => [ + qw( _maximum_arguments + _inline_capture_return_value + _inline_optimized_set_new_value + _return_value ) + ] +}; sub _maximum_arguments { 0 } @@ -16,7 +25,7 @@ sub _adds_members { 0 } sub _potential_value { my ( $self, $slot_access ) = @_; - return "[ \@{ $slot_access } > 1 ? \@{ $slot_access }[ 0 .. \$#{ $slot_access } - 1 ] : () ]"; + return "[ \@{ ($slot_access) } > 1 ? \@{ ($slot_access) }[ 0 .. \$#{ ($slot_access) } - 1 ] : () ]"; } sub _inline_capture_return_value { @@ -28,7 +37,7 @@ sub _inline_capture_return_value { sub _inline_optimized_set_new_value { my ( $self, $inv, $new, $slot_access ) = @_; - return "pop \@{ $slot_access }"; + return "pop \@{ ($slot_access) }"; } sub _return_value { @@ -37,4 +46,6 @@ sub _return_value { return 'return $old;'; } +no Moose::Role; + 1;