my %METAS;
+if(Mouse::Util::_MOUSE_XS){
+ # register meta storage for performance
+ Mouse::Util::__register_metaclass_storage(\%METAS, 0);
+
+ # ensure thread safety
+ *CLONE = sub { Mouse::Util::__register_metaclass_storage(\%METAS, 1) };
+}
+
sub _metaclass_cache { # DEPRECATED
my($class, $name) = @_;
return $METAS{$name};
sub has_attribute { exists $_[0]->{attributes}->{$_[1]} }
sub get_attribute { $_[0]->{attributes}->{$_[1]} }
-sub get_attribute_list{ keys %{$_[0]->{attributes}} }
sub remove_attribute { delete $_[0]->{attributes}->{$_[1]} }
+sub get_attribute_list{ keys %{$_[0]->{attributes}} }
+
+
# XXX: for backward compatibility
my %foreign = map{ $_ => undef } qw(
Mouse Mouse::Role Mouse::Util Mouse::Util::TypeConstraints
=head1 VERSION
-This document describes Mouse version 0.40_05
+This document describes Mouse version 0.40_06
=head1 SEE ALSO