use metaclass;
use Scalar::Util 'blessed';
-use Carp 'confess';
use Moose::Util::TypeConstraints;
our $VERSION = '0.57';
my $self = shift;
($self->has_type_parameter)
- || confess "You cannot create a Higher Order type without a type parameter";
+ || Moose::throw_error("You cannot create a Higher Order type without a type parameter");
my $type_parameter = $self->type_parameter;
(blessed $type_parameter && $type_parameter->isa('Moose::Meta::TypeConstraint'))
- || confess "The type parameter must be a Moose meta type";
+ || Moose::throw_error("The type parameter must be a Moose meta type");
foreach my $type (Moose::Util::TypeConstraints::get_all_parameterizable_types()) {
if (my $constraint = $type->generate_constraint_for($self)) {
# if we get here, then we couldn't
# find a way to parameterize this type
- confess "The " . $self->name . " constraint cannot be used, because "
- . $self->parent->name . " doesn't subtype or coerce from a parameterizable type.";
+ Moose::throw_error("The " . $self->name . " constraint cannot be used, because "
+ . $self->parent->name . " doesn't subtype or coerce from a parameterizable type.");
}
1;