From 60b7bf50b57a4b772c3cf7e4d595256c9c266a25 Mon Sep 17 00:00:00 2001 From: doy Date: Tue, 14 Apr 2009 23:42:38 -0500 Subject: better test for can_be_inlined --- lib/MooseX/NonMoose/Meta/Role/Constructor.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/MooseX/NonMoose/Meta/Role/Constructor.pm b/lib/MooseX/NonMoose/Meta/Role/Constructor.pm index 7f7fd48..2db5730 100644 --- a/lib/MooseX/NonMoose/Meta/Role/Constructor.pm +++ b/lib/MooseX/NonMoose/Meta/Role/Constructor.pm @@ -7,8 +7,9 @@ around can_be_inlined => sub { my $meta = $self->associated_metaclass; my $super_new = $meta->find_method_by_name($self->name); - # XXX is this even the right test? - if (!$super_new->associated_metaclass->isa($self->_expected_constructor_class)) { + my $super_meta = $super_new->associated_metaclass; + if ($super_meta->can('does_role') + && $super_meta->does_role('MooseX::NonMoose::Meta::Role::Class')) { return 1; } -- cgit v1.2.3-54-g00ecf