type 'Headers' => where { defined $_ && eval { $_->isa('Request::Headers') } };
};
-like $@, qr/The type constraint 'Headers' has already been created, cannot be created again in Request/;
+like $@, qr/The type constraint 'Headers' has already been created in Response and cannot be created again in Request/;
eval {
package Request;
package Request;
use Mouse::Util::TypeConstraints;
- coerce 'Headers' =>
+ coerce 'Int' =>
from 'XXX' => via {
- Request::Headers->new(%{ $_ });
+ 1
},
;
};
eval {
package Response;
- type 'Headers' => where { defined $_ && eval { $_->isa('Response::Headers') } };
+ type 'Headers' => where {
+ eval { $_->isa('Response::Headers') }
+ };
};
-like $@, qr/The type constraint 'Headers' has already been created, cannot be created again in Response/;
+ok(!$@, "You can redefine types in their original package");
{
package Request;