Hi - <div><br></div><div>I'm using CatalystX::Declare in my Controller. All was well until I tried to define a method with named parameters:<br><br> method repository( :$ctx, :$action, :$master_image_id ) {<br> ....<br>
}<br><br>Now I'm getting a compilation error:<br><br>Couldn't load class (BirdWeb::Admin) because: Cannot delegate meta_type_constraint to tc because the value of type_constraints is not defined at /usr/local/lib/perl/5.10.1/Moose/Meta/Method/Delegation.pm line 99<br>
Parse::Method::Signatures::Param::meta_type_constraint('MooseX::Traits::__ANON__::SERIAL::230=HASH(0xd8d2ea8)') called at /usr/local/share/perl/5.10.1/CatalystX/Declare/Controller/Meta/TypeConstraintMapping.pm line 76<br>
CatalystX::Declare::Controller::Meta::TypeConstraintMapping::add_method('CODE(0xd765ce0)', 'Moose::Meta::Class::__ANON__::SERIAL::7=HASH(0xd70e6b8)', 'repository', 'MooseX::Method::Signatures::Meta::Method=HASH(0xd90d190)') called at /usr/local/lib/perl/5.10.1/Class/MOP/Method/Wrapped.pm line 162<br>
Class::MOP::Method::Wrapped::__ANON__('Moose::Meta::Class::__ANON__::SERIAL::7=HASH(0xd70e6b8)', 'repository', 'MooseX::Method::Signatures::Meta::Method=HASH(0xd90d190)') called at /usr/local/lib/perl/5.10.1/Class/MOP/Method/Wrapped.pm line 91<br>
Moose::Meta::Class::__ANON__::SERIAL::7::add_method('Moose::Meta::Class::__ANON__::SERIAL::7=HASH(0xd70e6b8)', 'repository', 'MooseX::Method::Signatures::Meta::Method=HASH(0xd90d190)') called at /usr/local/share/perl/5.10.1/MooseX/Declare/Syntax/Keyword/Method.pm line 20<br>
MooseX::Declare::Syntax::Keyword::Method::register_method_declaration('MooseX::Declare::Syntax::Keyword::Method=HASH(0xd6fe8e0)', 'Moose::Meta::Class::__ANON__::SERIAL::7=HASH(0xd70e6b8)', 'repository', 'MooseX::Method::Signatures::Meta::Method=HASH(0xd90d190)') called at /usr/local/share/perl/5.10.1/MooseX/Declare/Syntax/MethodDeclaration.pm line 43<br>
MooseX::Declare::Syntax::MethodDeclaration::__ANON__('Moose::Meta::Class::__ANON__::SERIAL::7=HASH(0xd70e6b8)', 'repository', 'MooseX::Method::Signatures::Meta::Method=HASH(0xd90d190)') called at /usr/local/share/perl/5.10.1/MooseX/Method/Signatures.pm line 319<br>
MooseX::Method::Signatures::__ANON__('CODE(0xd89e208)', 'repository') called at /home/alanh/src/birdwebadmin/script/../lib/BirdWeb/Admin/Controller/Images.pm line 251<br> Catalyst::Utils::__ANON__() called at /usr/local/share/perl/5.10.1/MooseX/Declare/Syntax/MooseSetup.pm line 81<br>
MooseX::Declare::Syntax::MooseSetup::__ANON__('CODE(0xd6a9808)') called at /home/alanh/src/birdwebadmin/script/../lib/BirdWeb/Admin/Controller/Images.pm line 252<br> require BirdWeb/Admin/Controller/Images.pm called at /usr/local/share/perl/5.10.1/Catalyst/Utils.pm line 287<br>
eval {...} called at /usr/local/share/perl/5.10.1/Catalyst/Utils.pm line 287<br> Catalyst::Utils::ensure_class_loaded('BirdWeb::Admin::Controller::Images', 'HASH(0xc6356b8)') called at /usr/local/share/perl/5.10.1/Catalyst.pm line 2473<br>
Catalyst::setup_components('BirdWeb::Admin') called at /usr/local/share/perl/5.10.1/Catalyst.pm line 1190<br><br>....<br><br>If I don't use named parameters all is well.<br><br>I just upgraded Catalyst::Devel, Moose, CatalystX::Declare, and MooseX::Declare to the latest versions of each.<br>
<br>Any ideas?<br><br>- Alan<br></div><div></div>