X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FAlwaysCoerce.pm;h=3b1893cec3723439a2df7529884968603b249343;hb=57d1fb144c7288216e33842337a21394703170b5;hp=2738638927429033054c530d030a4dd370a7bc91;hpb=13005566e6870be3ac9c1cd688f1e73b962eedf1;p=gitmo%2FMooseX-AlwaysCoerce.git diff --git a/lib/MooseX/AlwaysCoerce.pm b/lib/MooseX/AlwaysCoerce.pm index 2738638..3b1893c 100644 --- a/lib/MooseX/AlwaysCoerce.pm +++ b/lib/MooseX/AlwaysCoerce.pm @@ -77,8 +77,10 @@ Use C<< coerce => 0 >> to disable a coercion explicitly. my $self = shift; my ($what, %opts) = @_; + return unless exists $opts{isa}; + my $type = Moose::Util::TypeConstraints::find_or_parse_type_constraint($opts{isa}); - $opts{coerce} = 1 if $type and not exists $opts{coerce} and $type->has_coercion; + $opts{coerce} = 1 if not exists $opts{coerce} and $type->has_coercion; $self->$next($what, %opts); };