use warnings;
use warnings FATAL => 'redefine'; # to avoid to load Mouse::PurePerl twice
+use Scalar::Util ();
use B ();
require Mouse::Util;
-
# taken from Class/MOP.pm
sub is_valid_class_name {
my $class = shift;
package Mouse::Util::TypeConstraints;
-use Scalar::Util ();
sub Any { 1 }
sub Item { 1 }
-sub Bool { $_[0] ? $_[0] eq '1' : 1 }
+sub Bool { !$_[0] || $_[0] eq '1' }
sub Undef { !defined($_[0]) }
sub Defined { defined($_[0]) }
sub Value { defined($_[0]) && !ref($_[0]) }
sub strict_constructor;
*strict_constructor = $generate_class_accessor->('strict_constructor');
+sub _invalidate_metaclass_cache {
+ my($self) = @_;
+ delete $self->{_mouse_cache};
+ return;
+}
+
sub _report_unknown_args {
my($metaclass, $attrs, $args) = @_;
if ($args->{lazy}) {
(exists $args->{default} || defined $args->{builder})
- || $class->throw_error("You cannot have lazy attribute ($name) without specifying a default value for it");
+ || $class->throw_error("You cannot have a lazy attribute ($name) without specifying a default value for it");
}
return;
=head1 VERSION
-This document describes Mouse version 0.76
+This document describes Mouse version 0.84
=head1 SEE ALSO