return sub {
my $instance = CORE::shift;
$container_type_constraint->check($_)
- || confess "Value " . ($_||'undef') . " did not pass container type constraint"
+ || confess "Value " . ($_||'undef') . " did not pass container type constraint '$container_type_constraint'"
foreach @_;
CORE::push @{$reader->($instance)} => @_;
};
return sub {
my $instance = CORE::shift;
$container_type_constraint->check($_)
- || confess "Value " . ($_||'undef') . " did not pass container type constraint"
+ || confess "Value " . ($_||'undef') . " did not pass container type constraint '$container_type_constraint'"
foreach @_;
CORE::unshift @{$reader->($instance)} => @_;
};
my $container_type_constraint = $attr->type_constraint->type_parameter;
return sub {
($container_type_constraint->check($_[2]))
- || confess "Value " . ($_[2]||'undef') . " did not pass container type constraint";
+ || confess "Value " . ($_[2]||'undef') . " did not pass container type constraint '$container_type_constraint'";
$reader->($_[0])->[$_[1]] = $_[2]
};
}
}
elsif (@_ == 2) { # writer
($container_type_constraint->check($_[1]))
- || confess "Value " . ($_[1]||'undef') . " did not pass container type constraint";
+ || confess "Value " . ($_[1]||'undef') . " did not pass container type constraint '$container_type_constraint'";
$reader->($self)->[$_[0]] = $_[1];
}
else {
my $container_type_constraint = $attr->type_constraint->type_parameter;
return sub {
($container_type_constraint->check($_[2]))
- || confess "Value " . ($_[2]||'undef') . " did not pass container type constraint";
+ || confess "Value " . ($_[2]||'undef') . " did not pass container type constraint '$container_type_constraint'";
CORE::splice @{$reader->($_[0])}, $_[1], 0, $_[2];
};
}
return sub {
my ( $self, $i, $j, @elems ) = @_;
($container_type_constraint->check($_))
- || confess "Value " . (defined($_) ? $_ : 'undef') . " did not pass container type constraint" for @elems;
+ || confess "Value " . (defined($_) ? $_ : 'undef') . " did not pass container type constraint '$container_type_constraint'" for @elems;
CORE::splice @{$reader->($self)}, $i, $j, @elems;
};
}
while ( @kvp ) {
my ( $key, $value ) = ( shift(@kvp), shift(@kvp) );
($container_type_constraint->check($value))
- || confess "Value " . ($value||'undef') . " did not pass container type constraint";
+ || confess "Value " . ($value||'undef') . " did not pass container type constraint '$container_type_constraint'";
push @keys, $key;
push @values, $value;
}
}
elsif (@_ == 2) { # writer
($container_type_constraint->check($_[1]))
- || confess "Value " . ($_[1]||'undef') . " did not pass container type constraint";
+ || confess "Value " . ($_[1]||'undef') . " did not pass container type constraint '$container_type_constraint'";
$reader->($self)->{$_[0]} = $_[1];
}
else {