X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FUtil%2FTypeConstraints.pm;h=bc3248940ad05438a666c5e0d18dd2a5b6c93214;hb=ef223decd6bf1150e5219d150911404a11df072d;hp=c6917fdcede873452b6a12128cca4d12b2d1e857;hpb=74c6212da4c29f567561f373ad5273464a3c9189;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Util/TypeConstraints.pm b/lib/Mouse/Util/TypeConstraints.pm index c6917fd..bc32489 100644 --- a/lib/Mouse/Util/TypeConstraints.pm +++ b/lib/Mouse/Util/TypeConstraints.pm @@ -4,8 +4,7 @@ use Mouse::Util; # enables strict and warnings use Mouse::Meta::TypeConstraint; use Mouse::Exporter; -use Carp (); -use Scalar::Util (); +use Carp (); Mouse::Exporter->setup_import_methods( as_is => [qw( @@ -186,7 +185,7 @@ sub subtype { sub coerce { # coerce $type, from $from, via { ... }, ... my $type_name = shift; my $type = find_type_constraint($type_name) - or Carp::croak("Cannot find type '$type_name', perhaps you forgot to load it."); + or Carp::croak("Cannot find type '$type_name', perhaps you forgot to load it"); $type->_add_type_coercions(@_); return; @@ -212,8 +211,7 @@ sub role_type { return subtype $name => ( as => 'Object', optimized_as => sub { - return Scalar::Util::blessed($_[0]) - && Mouse::Util::does_role($_[0], $role); + return Mouse::Util::does_role($_[0], $role); }, role => $role, ); @@ -383,10 +381,7 @@ sub register_type_constraint { my($constraint) = @_; Carp::croak("No type supplied / type is not a valid type constraint") unless Mouse::Util::is_a_type_constraint($constraint); - my $name = $constraint->name; - Carp::croak("Can't register an unnamed type constraint") - unless defined $name; - return $TYPE{$name} = $constraint; + return $TYPE{$constraint->name} = $constraint; } sub find_or_parse_type_constraint { @@ -434,7 +429,7 @@ Mouse::Util::TypeConstraints - Type constraint system for Mouse =head1 VERSION -This document describes Mouse version 0.82 +This document describes Mouse version 0.85 =head2 SYNOPSIS