Revision history for Mouse
0.50_08
+ * Mouse::Exporter
+ - Turns on warnings FATAL => 'recursion' by default (gfx)
* Mouse::Util::TypeConstraints
- Change the type parser to check syntax (gfx)
(Now it throws erros to "ArrayRef[]", "ArrayRef[Int", etc.)
my $strict_bits;
BEGIN{ $strict_bits = strict::bits(qw(subs refs vars)); }
+my $warnings_extra_bits;
+BEGIN{ $warnings_extra_bits = warnings::bits(FATAL => 'recursion') }
+
# it must be "require", because Mouse::Util depends on Mouse::Exporter,
# which depends on Mouse::Util::import()
require Mouse::Util;
sub import{
- $^H |= $strict_bits; # strict->import;
- ${^WARNING_BITS} |= $warnings::Bits{all}; # warnings->import;
+ # strict->import;
+ $^H |= $strict_bits;
+ # warnings->import('all', FATAL => 'recursion');
+ ${^WARNING_BITS} |= $warnings::Bits{all};
+ ${^WARNING_BITS} |= $warnings_extra_bits;
return;
}
}
}
- $^H |= $strict_bits; # strict->import;
- ${^WARNING_BITS} |= $warnings::Bits{all}; # warnings->import;
+ $^H |= $strict_bits; # strict->import;
+ # warnings->import('all', FATAL => 'recursion');
+ ${^WARNING_BITS} |= $warnings::Bits{all};
+ ${^WARNING_BITS} |= $warnings_extra_bits;
if($spec->{INIT_META}){
my $meta;
package Mouse::Meta::Method::Accessor;
use Mouse::Util qw(:meta); # enables strict and warnings
-use warnings FATAL => 'recursion';
-
sub _inline_slot{
my(undef, $self_var, $attr_name) = @_;