Problem starting out using class attributes

[email protected] (Jim Mozley)
Newsgroups perl.moose
Message-ID <CAAsq+jvnFpGWtH=tJRZMKCicga8yPnJPVRQ7BbS=Z6sA5vXr9A@mail.gmail.com>
I am using MooseX::ClassAttribute for the first time and seeing an
error at compile time. I have put together an example that recreates
the problem:

fail.pl:

use 5.010;
use strict;
use warnings;

use lib 'lib';

use FAIL::Foobaz;

print "Hello Moose\n";


Foobaz.pm:

package FAIL::Foobaz;

use Moose;
use MooseX::ClassAttribute;

use namespace::autoclean;

class_has 'class_attrib_1' => (is => 'ro', default => 'class_attrib_1');

__PACKAGE__->meta->make_immutable;
1;




C:> perl -c fail.pl
The method 'inline_clear' was not found in the inheritance hierarchy
for Moose::Meta::Class::__ANON__::SERIAL::8 at C:/Perl/site/lib
/Class/MOP/Class.pm line 1048
        Class::MOP::Class::__ANON__('Moose::Meta::Class=HASH(0x3da31dc)',
'inline_clear') called at C:/Perl/site/lib/Class/MOP/Class
.pm line 1093
        Class::MOP::Class::add_around_method_modifier('Moose::Meta::Class=HASH(0x3da31dc)',
'inline_clear', 'CODE(0x3daf25c)') calle
d at C:/Perl/site/lib/Moose/Meta/Role/Application/ToClass.pm line 224
        Moose::Meta::Role::Application::ToClass::apply_method_modifiers('Moose::Meta::Role::Application::ToClass=HASH(0x3f70c74)',
'
around', 'Moose::Meta::Role=HASH(0x3dac544)',
'Moose::Meta::Class=HASH(0x3da31dc)') called at
C:/Perl/site/lib/Moose/Meta/Role/Appli
cation.pm line 78
        Moose::Meta::Role::Application::apply_around_method_modifiers('Moose::Meta::Role::Application::ToClass=HASH(0x3f70c74)',
'Mo
ose::Meta::Role=HASH(0x3dac544)',
'Moose::Meta::Class=HASH(0x3da31dc)') called at
C:/Perl/site/lib/Moose/Meta/Role/Application.pm li
ne 64
        Moose::Meta::Role::Application::apply('Moose::Meta::Role::Application::ToClass=HASH(0x3f70c74)',
'Moose::Meta::Role=HASH(0x3
dac544)', 'Moose::Meta::Class=HASH(0x3da31dc)') called at
C:/Perl/site/lib/Moose/Meta/Role/Application/ToClass.pm line 35
        Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::Role::Application::ToClass=HASH(0x3f70c74)',
'Moose::Meta::Role
=HASH(0x3dac544)', 'Moose::Meta::Class=HASH(0x3da31dc)',
'HASH(0x3780cfc)') called at C:/Perl/site/lib/Moose/Meta/Role.pm line
470
        Moose::Meta::Role::apply('Moose::Meta::Role=HASH(0x3dac544)',
'Moose::Meta::Class=HASH(0x3da31dc)') called at C:/Perl/site/l
ib/Moose/Util.pm line 159
        Moose::Util::_apply_all_roles('Moose::Meta::Class=HASH(0x3da31dc)',
undef, 'MooseX::ClassAttribute::Trait::Attribute') calle
d at C:/Perl/site/lib/Moose/Util.pm line 98
        Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x3da31dc)',
'MooseX::ClassAttribute::Trait::Attribute') called at C:/
Perl/site/lib/Moose/Meta/Class.pm line 104
        Moose::Meta::Class::create('Moose::Meta::Class',
'Moose::Meta::Class::__ANON__::SERIAL::8', 'roles',
'ARRAY(0x3f6b5ec)', 'we
aken', '', 'superclasses', 'ARRAY(0x2a353c)') called at
C:/Perl/site/lib/Class/MOP/Package.pm line 121
        Class::MOP::Package::create_anon('Moose::Meta::Class',
'roles', 'ARRAY(0x3f6b5ec)', 'superclasses', 'ARRAY(0x2a353c)', 'cach
e', 1) called at C:/Perl/site/lib/Class/MOP/Class.pm line 473
        Class::MOP::Class::create_anon_class('Moose::Meta::Class',
'roles', 'ARRAY(0x3f6b5ec)', 'superclasses', 'ARRAY(0x2a353c)', '
cache', 1) called at C:/Perl/site/lib/Moose/Meta/Attribute.pm line 173
        Moose::Meta::Attribute::interpolate_class('Moose::Meta::Attribute',
'HASH(0x3b14b1c)') called at C:/Perl/site/lib/Moose/Meta
/Attribute.pm line 112
        Moose::Meta::Attribute::interpolate_class_and_new('Moose::Meta::Attribute',
'class_attrib_1', 'default', 'class_attrib_1', '
is', 'ro', 'traits', 'ARRAY(0x3d9fa2c)') called at
C:/Perl/site/lib/MooseX/ClassAttribute/Trait/Class.pm line 99
        MooseX::ClassAttribute::Trait::Class::_process_new_class_attribute('Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x3f74364)'
, 'class_attrib_1', 'default', 'class_attrib_1', 'is', 'ro') called at
C:/Perl/site/lib/MooseX/ClassAttribute/Trait/Class.pm line 83

        MooseX::ClassAttribute::Trait::Class::_process_class_attribute('Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x3f74364)',
'c
lass_attrib_1', 'default', 'class_attrib_1', 'is', 'ro') called at
C:/Perl/site/lib/MooseX/ClassAttribute/Trait/Class.pm line 35
        Class::MOP::Class:::around('CODE(0x3e49f9c)',
'Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x3f74364)',
'class_attrib_1', '
default', 'class_attrib_1', 'is', 'ro') called at
C:/Perl/site/lib/Class/MOP/Method/Wrapped.pm line 162
        Class::MOP::Method::Wrapped::__ANON__('Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x3f74364)',
'class_attrib_1', 'default'
, 'class_attrib_1', 'is', 'ro') called at
C:/Perl/site/lib/Class/MOP/Method/Wrapped.pm line 91
        Moose::Meta::Class::__ANON__::SERIAL::1::add_class_attribute('Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x3f74364)',
'cla
ss_attrib_1', 'default', 'class_attrib_1', 'is', 'ro') called at
C:/Perl/site/lib/MooseX/ClassAttribute.pm line 37
        MooseX::ClassAttribute::class_has('Moose::Meta::Class::__ANON__::SERIAL::1=HASH(0x3f74364)',
'class_attrib_1', 'is', 'ro', '
default', 'class_attrib_1') called at
C:/Perl/site/lib/Moose/Exporter.pm line 356
        MooseX::ClassAttribute::class_has('class_attrib_1', 'is',
'ro', 'default', 'class_attrib_1') called at lib/FAIL/Foobaz.pm li
ne 8
        require FAIL/Foobaz.pm called at fail.pl line 7
        main::BEGIN() called at lib/FAIL/Foobaz.pm line 0
        eval {...} called at lib/FAIL/Foobaz.pm line 0
Compilation failed in require at fail.pl line 7.
BEGIN failed--compilation aborted at fail.pl line 7.



I have some Moose class working fine with object attributes. When I
add class attributes I see the above.

Does the list have any ideas as to what the problem is?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.