union isn't finding the types
[email protected] (Caleb Cushing)
| Newsgroups | perl.moose |
|---|---|
| Message-ID | <CAAHKNRGXzXcA701PREvjh4=dhYpZzg7ONo-QS7f0yKcZzCRxFw@mail.gmail.com> |
the code,
use Class::Load 0.20 'load_class';
use Moose::Role;
# VERSION
#### Attribute Definitions ####
has _log => (
isa => 'Log::Any::Adapter::Base | Log::Any::Adapter::Null',
is => 'ro',
lazy => 1,
default => sub { load_class('Log::Any')->get_logger },
);
attached is the the stack trace, what about unions do I not
understand? are they only allowed between moose native types? or am I
doing something else that is obviously wrong?
--
Caleb Cushing
http://xenoterracide.com
stack.txt
(text/plain, 10.8 KB)
Could not locate type constraint (Log::Any::Adapter::Base) for the union at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Util/TypeConstraints.pm line 104.
Moose::Util::TypeConstraints::_create_type_constraint_union('ARRAY(0x3792320)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Util/TypeConstraints.pm line 78
Moose::Util::TypeConstraints::create_type_constraint_union('Log::Any::Adapter::Base|Log::Any::Adapter::Null') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Util/TypeConstraints.pm line 274
Moose::Util::TypeConstraints::find_or_parse_type_constraint('Log::Any::Adapter::Base | Log::Any::Adapter::Null') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Util/TypeConstraints.pm line 260
Moose::Util::TypeConstraints::find_or_create_isa_type_constraint('Log::Any::Adapter::Base | Log::Any::Adapter::Null', 'HASH(0x3fed890)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Meta/Attribute.pm line 369
Moose::Meta::Attribute::_process_isa_option('Moose::Meta::Attribute', '_log', 'HASH(0x289e970)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Meta/Attribute.pm line 296
Moose::Meta::Attribute::_process_options('Moose::Meta::Attribute', '_log', 'HASH(0x289e970)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Meta/Attribute.pm line 88
Moose::Meta::Attribute::new('Moose::Meta::Attribute', '_log', 'default', 'CODE(0x3fe6638)', 'is', 'ro', 'lazy', 1, 'isa', ...) called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Meta/Attribute.pm line 114
Moose::Meta::Attribute::interpolate_class_and_new('Moose::Meta::Attribute', '_log', 'isa', 'Log::Any::Adapter::Base | Log::Any::Adapter::Null', 'default', 'CODE(0x3fe6638)', 'definition_context', 'HASH(0x3f84930)', 'lazy', ...) called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Meta/Role/Attribute.pm line 91
Moose::Meta::Role::Attribute::attribute_for_class('Moose::Meta::Role::Attribute=HASH(0x3fe6818)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Meta/Role/Application/ToClass.pm line 152
Moose::Meta::Role::Application::ToClass::apply_attributes('Moose::Meta::Role::Application::ToClass=HASH(0x3fa5328)', 'Moose::Meta::Role::Composite=HASH(0x3f847c8)', 'Moose::Meta::Class::__ANON__::SERIAL::28=HASH(0x3f847b0)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Meta/Role/Application.pm line 58
Moose::Meta::Role::Application::apply('Moose::Meta::Role::Application::ToClass=HASH(0x3fa5328)', 'Moose::Meta::Role::Composite=HASH(0x3f847c8)', 'Moose::Meta::Class::__ANON__::SERIAL::28=HASH(0x3f847b0)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Meta/Role/Application/ToClass.pm line 36
Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::Role::Application::ToClass=HASH(0x3fa5328)', 'Moose::Meta::Role::Composite=HASH(0x3f847c8)', 'Moose::Meta::Class::__ANON__::SERIAL::28=HASH(0x3f847b0)', 'HASH(0x3fb5110)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Meta/Role.pm line 470
Moose::Meta::Role::apply('Moose::Meta::Role::Composite=HASH(0x3f847c8)', 'Moose::Meta::Class::__ANON__::SERIAL::28=HASH(0x3f847b0)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Util.pm line 163
Moose::Util::_apply_all_roles('Moose::Meta::Class::__ANON__::SERIAL::28=HASH(0x3f847b0)', undef, 'Foo::Role::Parent', 'Foo::Ticket::Role::Context', 'Foo::Ticket::Role::Logging', 'Foo::Ticket::Role::MapperLocator') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Util.pm line 99
Moose::Util::apply_all_roles('Moose::Meta::Class::__ANON__::SERIAL::28=HASH(0x3f847b0)', 'Foo::Role::Parent', 'Foo::Ticket::Role::Context', 'Foo::Ticket::Role::Logging', 'Foo::Ticket::Role::MapperLocator') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose.pm line 67
Moose::with('Moose::Meta::Class::__ANON__::SERIAL::28=HASH(0x3f847b0)', 'Foo::Role::Parent', 'Foo::Ticket::Role::Context', 'Foo::Ticket::Role::Logging', 'Foo::Ticket::Role::MapperLocator') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Exporter.pm line 382
Moose::with('Foo::Role::Parent', 'Foo::Ticket::Role::Context', 'Foo::Ticket::Role::Logging', 'Foo::Ticket::Role::MapperLocator') called at /home/user/Foo-Ticket/lib/Foo/Ticket/Repository.pm line 21
require Foo/Ticket/Repository.pm called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Module/Runtime.pm line 317
Module::Runtime::require_module('Foo::Ticket::Repository') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Class/Load.pm line 177
Class::Load::__ANON__() called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Try/Tiny.pm line 71
eval {...} called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Try/Tiny.pm line 67
Try::Tiny::try('CODE(0x3f10e18)', 'Try::Tiny::Catch=REF(0x3f74590)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Class/Load.pm line 183
Class::Load::try_load_class('Foo::Ticket::Repository', undef) called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Class/Load.pm line 38
Class::Load::load_class('Foo::Ticket::Repository', undef) called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Meta/Class.pm line 554
Moose::Meta::Class::superclasses(undef, 'Foo::Ticket::Repository') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose.pm line 63
Moose::extends('Moose::Meta::Class::__ANON__::SERIAL::39=HASH(0x3f6f870)', 'Foo::Ticket::Repository') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Exporter.pm line 382
Moose::extends('Foo::Ticket::Repository') called at /home/user/Foo-Ticket/lib/Foo/Ticket/Repository/Companies.pm line 10
require Foo/Ticket/Repository/Companies.pm called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Module/Runtime.pm line 317
Module::Runtime::require_module('Foo::Ticket::Repository::Companies') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Class/Load.pm line 177
Class::Load::__ANON__() called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Try/Tiny.pm line 71
eval {...} called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Try/Tiny.pm line 67
Try::Tiny::try('CODE(0x3f31140)', 'Try::Tiny::Catch=REF(0x3f5a778)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Class/Load.pm line 183
Class::Load::try_load_class('Foo::Ticket::Repository::Companies', undef) called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Class/Load.pm line 38
Class::Load::load_class('Foo::Ticket::Repository::Companies') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Bread/Board/Declare/Meta/Role/Attribute/Service.pm line 116
Class::MOP::Class:::after('Moose::Meta::Class::__ANON__::SERIAL::24=HASH(0x3f64028)', 'Moose::Meta::Class::__ANON__::SERIAL::13=HASH(0x3873560)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Class/MOP/Method/Wrapped.pm line 63
Class::MOP::Method::Wrapped::__ANON__('Moose::Meta::Class::__ANON__::SERIAL::24=HASH(0x3f64028)', 'Moose::Meta::Class::__ANON__::SERIAL::13=HASH(0x3873560)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Class/MOP/Method/Wrapped.pm line 91
Moose::Meta::Class::__ANON__::SERIAL::24::attach_to_class('Moose::Meta::Class::__ANON__::SERIAL::24=HASH(0x3f64028)', 'Moose::Meta::Class::__ANON__::SERIAL::13=HASH(0x3873560)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Class/MOP/Class.pm line 880
Class::MOP::Class::_attach_attribute('Moose::Meta::Class::__ANON__::SERIAL::13=HASH(0x3873560)', 'Moose::Meta::Class::__ANON__::SERIAL::24=HASH(0x3f64028)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Class/MOP/Mixin/HasAttributes.pm line 27
Class::MOP::Mixin::HasAttributes::add_attribute('Moose::Meta::Class::__ANON__::SERIAL::13=HASH(0x3873560)', 'Moose::Meta::Class::__ANON__::SERIAL::24=HASH(0x3f64028)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Meta/Class.pm line 570
Moose::Meta::Class::add_attribute('Moose::Meta::Class::__ANON__::SERIAL::13=HASH(0x3873560)', 'companies', 'lifecycle', 'Singleton', 'dependencies', 'ARRAY(0x238c118)', 'isa', 'Foo::Ticket::Repository::Companies', 'infer', ...) called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose.pm line 79
Moose::has('Moose::Meta::Class::__ANON__::SERIAL::13=HASH(0x3873560)', 'companies', 'isa', 'Foo::Ticket::Repository::Companies', 'is', 'ro', 'lifecycle', 'Singleton', 'infer', ...) called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Exporter.pm line 382
Moose::has('companies', 'isa', 'Foo::Ticket::Repository::Companies', 'is', 'ro', 'lifecycle', 'Singleton', 'infer', 1, ...) called at /home/user/Foo-Ticket/lib/Test/App/Foo/Ticket/Memory.pm line 45
require Test/App/Foo/Ticket/Memory.pm called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Module/Runtime.pm line 317
Module::Runtime::require_module('Test::App::Foo::Ticket::Memory') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Class/Load.pm line 177
Class::Load::__ANON__() called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Try/Tiny.pm line 71
eval {...} called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Try/Tiny.pm line 67
Try::Tiny::try('CODE(0x21e4e30)', 'Try::Tiny::Catch=REF(0x21e4db8)') called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Class/Load.pm line 183
Class::Load::try_load_class('Test::App::Foo::Ticket::Memory', undef) called at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/Class/Load.pm line 38
Class::Load::load_class('Test::App::Foo::Ticket::Memory') called at t/model/companies.t line 7
Compilation failed in require at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Moose/Exporter.pm line 382.
Compilation failed in require at /home/user/perl5/perlbrew/perls/perl-5.16.2/lib/site_perl/5.16.2/x86_64-linux/Class/MOP/Class.pm line 880.
Compilation failed in require at t/model/companies.t line 7.