Properly delegate coercions for Optional[].
[gitmo/MooseX-Types-Structured.git] / lib / MooseX / Meta / TypeConstraint / Structured / Optional.pm
1 package MooseX::Meta::TypeConstraint::Structured::Optional;
2
3 use Moose;
4 use MooseX::Meta::TypeCoercion::Structured::Optional;
5
6 extends 'Moose::Meta::TypeConstraint::Parameterizable';
7
8 around parameterize => sub {
9     my $orig = shift;
10     my $self = shift;
11
12     my $ret = $self->$orig(@_);
13
14     $ret->coercion(MooseX::Meta::TypeCoercion::Structured::Optional->new(type_constraint => $ret));
15
16     return $ret;
17 };
18
19 __PACKAGE__->meta->make_immutable(inline_constructor => 0);
20
21 1;