Hi all, I am trying to do the following with MX::D:
use MooseX::Declare; class fREW with BusinessCard { method BUILD { $self->job('Programmer'); my $email = reverse 'moc.li...@xuoirf'; $self->email($email); } } and I get the following error on instantiation: died: Validation failed for 'MooseX::Types::Structured::Tuple[MooseX::Types::Structured::Tuple[Object],MooseX::Types::Structured::Dict[]]' failed with value [ [ fREW=HASH(0x83da2c0) ], { HASH(0x83ae760) => undef } ], Internal Validation Error is: Validation failed for 'MooseX::Types::Structured::Dict[]' failed with value { HASH(0x83ae760) => undef } at /usr/local/share/perl/5.10.0/MooseX/Method/Signatures/Meta/Method.pm line 365 # MooseX::Method::Signatures::Meta::Method::validate() called at /usr/local/share/perl/5.10.0/MooseX/Method/Signatures/Meta/Method.pm line 139 # fREW::BUILD() called at generated method (unknown origin) line 25 # fREW::new() called at t/frew.t line 13 # Test::Exception::lives_ok() called at t/frew.t line 13 Reference found where even-sized list expected at /usr/local/share/perl/5.10.0/MooseX/Method/Signatures/Meta/Method.pm line 335. Validation failed for 'MooseX::Types::Structured::Tuple[MooseX::Types::Structured::Tuple[Object],MooseX::Types::Structured::Dict[]]' failed with value [ [ fREW=HASH(0x83e0370) ], { HASH(0x83ae880) => undef } ], Internal Validation Error is: Validation failed for 'MooseX::Types::Structured::Dict[]' failed with value { HASH(0x83ae880) => undef } at /usr/local/share/perl/5.10.0/MooseX/Method/Signatures/Meta/Method.pm line 365 MooseX::Method::Signatures::Meta::Method::validate('MooseX::Method::Signatures::Meta::Method=HASH(0x9081808)', 'ARRAY(0x851baf0)') called at /usr/local/share/perl/5.10.0/MooseX/Method/Signatures/Meta/Method.pm line 139 fREW::BUILD('fREW=HASH(0x83e0370)', 'HASH(0x83ae880)') called at generated method (unknown origin) line 25 fREW::new('fREW') called at t/frew.t line 14 How do I define a BUILD with MX::D? -- fREW Schmidt http://blog.afoolishmanifesto.com