package Moose::Exception::ParameterIsNotSubtypeOfParent;
our $VERSION = '2.2011';
use Moose;
extends 'Moose::Exception';
with 'Moose::Exception::Role::TypeConstraint';
use Moose::Util::TypeConstraints qw/find_type_constraint/;
has 'type_parameter' => (
is => 'ro',
isa => 'Str',
required => 1
);
sub _build_message {
my $self = shift;
my $type_parameter = $self->type_parameter;
my $type = find_type_constraint( $self->type_name );
my $parent = $type->parent->type_parameter;
return "$type_parameter is not a subtype of $parent";
}
__PACKAGE__->meta->make_immutable;
1;