Created
August 28, 2008 12:00
-
-
Save tokuhirom/7712 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/perl | |
with Moose 0.55_01 & Class::MOP 0.64_6 | |
### code. | |
use strict; | |
use warnings; | |
use Class::MOP; | |
use Moose::Meta::Class; | |
require Moose; | |
{ | |
package R1; | |
use Moose::Role; | |
sub b { warn "FOO" } | |
} | |
{ | |
package R2; | |
use Moose::Role; | |
with 'R1'; | |
sub b { warn "FOO" } | |
} | |
my $class = Moose::Meta::Class->create( | |
'Target' => ( | |
superclasses => ['Moose::Meta::Class'], | |
roles => ['R2'], | |
) | |
); | |
warn "OK"; | |
### result | |
'R2' requires the method 'b' to be implemented by 'Target' at /home/tokuhirom/project/perl-5.10//lib/site_perl/5.10.0/Moose/Meta/Role/Application/ToClass.pm line 50 | |
Moose::Meta::Role::Application::ToClass::check_required_methods('Moose::Meta::Role::Application::ToClass=HASH(0x8593198)', 'Moose::Meta::Role=HASH(0x8591e40)', 'Moose::Meta::Class=HASH(0x8592e98)') called at /home/tokuhirom/project/perl-5.10//lib/site_perl/5.10.0/Moose/Meta/Role/Application.pm line 59 | |
Moose::Meta::Role::Application::apply('Moose::Meta::Role::Application::ToClass=HASH(0x8593198)', 'Moose::Meta::Role=HASH(0x8591e40)', 'Moose::Meta::Class=HASH(0x8592e98)') called at /home/tokuhirom/project/perl-5.10//lib/site_perl/5.10.0/Moose/Meta/Role/Application/ToClass.pm line 20 | |
Moose::Meta::Role::Application::ToClass::apply('Moose::Meta::Role::Application::ToClass=HASH(0x8593198)', 'Moose::Meta::Role=HASH(0x8591e40)', 'Moose::Meta::Class=HASH(0x8592e98)') called at /home/tokuhirom/project/perl-5.10//lib/site_perl/5.10.0/Moose/Meta/Role.pm line 460 | |
Moose::Meta::Role::apply('Moose::Meta::Role=HASH(0x8591e40)', 'Moose::Meta::Class=HASH(0x8592e98)') called at /home/tokuhirom/project/perl-5.10//lib/site_perl/5.10.0/Moose/Util.pm line 102 | |
Moose::Util::apply_all_roles_with_method('Moose::Meta::Class=HASH(0x8592e98)', 'apply', 'ARRAY(0x85928b8)') called at /home/tokuhirom/project/perl-5.10//lib/site_perl/5.10.0/Moose/Util.pm line 76 | |
Moose::Util::apply_all_roles('Moose::Meta::Class=HASH(0x8592e98)', 'R2') called at /home/tokuhirom/project/perl-5.10//lib/site_perl/5.10.0/Moose/Meta/Class.pm line 47 | |
Moose::Meta::Class::create('Moose::Meta::Class', 'Target', 'superclasses', 'ARRAY(0x815f530)', 'roles', 'ARRAY(0x8150318)') called at foo.pl line 23 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment