1 package Moose::Meta::Method::Accessor::Native::Counter::Writer;
7 $VERSION = eval $VERSION;
8 our $AUTHORITY = 'cpan:STEVAN';
10 use base 'Moose::Meta::Method::Accessor::Native::Writer';
12 sub _constraint_must_be_checked {
15 my $attr = $self->associated_attribute;
17 return $attr->has_type_constraint
18 && ( $attr->type_constraint->name =~ /^(?:Num|Int)$/
19 || ( $attr->should_coerce && $attr->type_constraint->has_coercion ) );
22 sub _inline_check_coercion {
23 my ( $self, $value ) = @_;
25 my $attr = $self->associated_attribute;
28 unless $attr->should_coerce && $attr->type_constraint->has_coercion;
30 # We want to break the aliasing in @_ in case the coercion tries to make a
31 # destructive change to an array member.
32 return "$value = $attr->type_constraint->coerce($value);";