my %METAS;
-if(Mouse::Util::_MOUSE_XS){
+# XXX: work around a warning "useless use of a constant in void context" in 5.6.2
+if(&Mouse::Util::MOUSE_XS){
# register meta storage for performance
Mouse::Util::__register_metaclass_storage(\%METAS, 0);
sub reinitialize {
my($class, $package_name, @args) = @_;
+ $package_name = $package_name->name if ref $package_name;
+
($package_name && !ref($package_name))
|| $class->throw_error("You must pass a package name and it cannot be blessed");
sub get_attribute_list{ keys %{$_[0]->{attributes}} }
-
# XXX: for backward compatibility
my %foreign = map{ $_ => undef } qw(
Mouse Mouse::Role Mouse::Util Mouse::Util::TypeConstraints
sub DESTROY{
my($self) = @_;
+ return if $Mouse::Util::in_global_destruction;
+
my $serial_id = $self->{anon_serial_id};
return if !$serial_id;
}
1;
-
__END__
=head1 NAME
=head1 VERSION
-This document describes Mouse version 0.40_06
+This document describes Mouse version 0.42
=head1 SEE ALSO