[Catalyst] CatalystX::Declare compilation error

Alan Humphrey abhumphrey at gmail.com
Mon Sep 26 16:58:42 GMT 2011


Hi -

I'm using CatalystX::Declare in my Controller.  All was well until I tried
to define a method with named parameters:

    method repository( :$ctx, :$action, :$master_image_id ) {
       ....
    }

Now I'm getting a compilation error:

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

Parse::Method::Signatures::Param::meta_type_constraint('MooseX::Traits::__A=
NON__::SERIAL::230=3DHASH(0xd8d2ea8)')
called at
/usr/local/share/perl/5.10.1/CatalystX/Declare/Controller/Meta/TypeConstrai=
ntMapping.pm
line 76

CatalystX::Declare::Controller::Meta::TypeConstraintMapping::add_method('CO=
DE(0xd765ce0)',
'Moose::Meta::Class::__ANON__::SERIAL::7=3DHASH(0xd70e6b8)', 'repository',
'MooseX::Method::Signatures::Meta::Method=3DHASH(0xd90d190)') called at
/usr/local/lib/perl/5.10.1/Class/MOP/Method/Wrapped.pm line 162

Class::MOP::Method::Wrapped::__ANON__('Moose::Meta::Class::__ANON__::SERIAL=
::7=3DHASH(0xd70e6b8)',
'repository', 'MooseX::Method::Signatures::Meta::Method=3DHASH(0xd90d190)')
called at /usr/local/lib/perl/5.10.1/Class/MOP/Method/Wrapped.pm line 91

Moose::Meta::Class::__ANON__::SERIAL::7::add_method('Moose::Meta::Class::__=
ANON__::SERIAL::7=3DHASH(0xd70e6b8)',
'repository', 'MooseX::Method::Signatures::Meta::Method=3DHASH(0xd90d190)')
called at
/usr/local/share/perl/5.10.1/MooseX/Declare/Syntax/Keyword/Method.pm line 20

MooseX::Declare::Syntax::Keyword::Method::register_method_declaration('Moos=
eX::Declare::Syntax::Keyword::Method=3DHASH(0xd6fe8e0)',
'Moose::Meta::Class::__ANON__::SERIAL::7=3DHASH(0xd70e6b8)', 'repository',
'MooseX::Method::Signatures::Meta::Method=3DHASH(0xd90d190)') called at
/usr/local/share/perl/5.10.1/MooseX/Declare/Syntax/MethodDeclaration.pm line
43

MooseX::Declare::Syntax::MethodDeclaration::__ANON__('Moose::Meta::Class::_=
_ANON__::SERIAL::7=3DHASH(0xd70e6b8)',
'repository', 'MooseX::Method::Signatures::Meta::Method=3DHASH(0xd90d190)')
called at /usr/local/share/perl/5.10.1/MooseX/Method/Signatures.pm line 319
    MooseX::Method::Signatures::__ANON__('CODE(0xd89e208)', 'repository')
called at
/home/alanh/src/birdwebadmin/script/../lib/BirdWeb/Admin/Controller/Images.=
pm
line 251
    Catalyst::Utils::__ANON__() called at
/usr/local/share/perl/5.10.1/MooseX/Declare/Syntax/MooseSetup.pm line 81
    MooseX::Declare::Syntax::MooseSetup::__ANON__('CODE(0xd6a9808)') called
at
/home/alanh/src/birdwebadmin/script/../lib/BirdWeb/Admin/Controller/Images.=
pm
line 252
    require BirdWeb/Admin/Controller/Images.pm called at
/usr/local/share/perl/5.10.1/Catalyst/Utils.pm line 287
    eval {...} called at /usr/local/share/perl/5.10.1/Catalyst/Utils.pm line
287

Catalyst::Utils::ensure_class_loaded('BirdWeb::Admin::Controller::Images',
'HASH(0xc6356b8)') called at /usr/local/share/perl/5.10.1/Catalyst.pm line
2473
    Catalyst::setup_components('BirdWeb::Admin') called at
/usr/local/share/perl/5.10.1/Catalyst.pm line 1190

....

If I don't use named parameters all is well.

I just upgraded Catalyst::Devel, Moose, CatalystX::Declare, and
MooseX::Declare to the latest versions of each.

Any ideas?

- Alan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20110926/7f2cd=
ca4/attachment.htm


More information about the Catalyst mailing list