my($attribute_class, @traits) = ref($self)->interpolate_class(\%args);
$args{traits} = \@traits if @traits;
- return $attribute_class->new($self->name, %{$self}, %args);
+ # do not inherit the 'handles' attribute
+ foreach my $name(keys %{$self}){
+ if(!exists $args{$name} && $name ne 'handles'){
+ $args{$name} = $self->{$name};
+ }
+ }
+ return $attribute_class->new($self->name, %args);
}
sub clone_parent { # DEPRECATED
my $meta = Mouse::Meta::Class->initialize("$class_or_role"); # "" for stringify
return map { $_ => $_ }
grep { $_ ne 'meta' && !Mouse::Object->can($_) && $_ =~ $handles }
- Mouse::Util::TypeConstraints::_is_a_metarole($meta)
+ Mouse::Util::is_a_metarole($meta)
? $meta->get_method_list
: $meta->get_all_method_names;
}
=head1 VERSION
-This document describes Mouse version 0.40_01
+This document describes Mouse version 0.40_03
=head1 METHODS