X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=blobdiff_plain;f=lib%2FMouse%2FMeta%2FClass.pm;fp=lib%2FMouse%2FMeta%2FClass.pm;h=276b16de97b1ec62dc8ef2ad463c4207bb16a8f9;hp=7a9dd8b4bbdd1e26df54a6ed69eb15eae6423971;hb=f3e1112299b631f1ab6150159eaa414dca37a42c;hpb=57633577acaebd562d9bf8a798bb66f5840d88c7 diff --git a/lib/Mouse/Meta/Class.pm b/lib/Mouse/Meta/Class.pm index 7a9dd8b..276b16d 100644 --- a/lib/Mouse/Meta/Class.pm +++ b/lib/Mouse/Meta/Class.pm @@ -96,7 +96,7 @@ sub _reconcile_with_superclass_meta { my @roles; foreach my $role($super_meta->meta->calculate_all_roles){ - if(!$self->meta->does_role($role->name)){ + if(!$self->meta->does_role($role)){ push @roles, $role->name; } } @@ -439,6 +439,8 @@ sub does_role { (defined $role_name) || $self->throw_error("You must supply a role name to look for"); + $role_name = $role_name->name if ref $role_name; + for my $class ($self->linearized_isa) { my $meta = Mouse::Util::get_metaclass_by_name($class) or next;