X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FClass.pm;h=b5adde838c6b897805364c8ba77035b53b8587ff;hp=c7c44339bb8c9dcced97c4d2d826126b5f846362;hb=ffbbf459fec594dcd08b5f7d05014740390bde58;hpb=31c5194bc6a176cec4de515163d27f174eba5c9b diff --git a/lib/Mouse/Meta/Class.pm b/lib/Mouse/Meta/Class.pm index c7c4433..b5adde8 100644 --- a/lib/Mouse/Meta/Class.pm +++ b/lib/Mouse/Meta/Class.pm @@ -171,18 +171,13 @@ sub _initialize_instance{ my $key = $attribute->name; if (defined($from) && exists($args->{$from})) { - $args->{$from} = $attribute->coerce_constraint($args->{$from}) - if $attribute->should_coerce; - - $attribute->verify_against_type_constraint($args->{$from}); - - $instance->{$key} = $args->{$from}; + $instance->{$key} = $attribute->_coerce_and_verify($args->{$from}); weaken($instance->{$key}) if ref($instance->{$key}) && $attribute->is_weak_ref; if ($attribute->has_trigger) { - push @triggers_queue, [ $attribute->trigger, $args->{$from} ]; + push @triggers_queue, [ $attribute->trigger, $instance->{$from} ]; } } else {