my @res;
my $has_triggers;
- my $strict = $metaclass->__strict_constructor;
+ my $strict = $metaclass->strict_constructor;
if($strict){
push @res, 'my $used = 0;';
if($strict){
push @res, q{if($used < keys %{$args})}
- . sprintf q{{ %s->_report_unknown_args($metaclass, \@attrs, $args) }}, $method_class;
+ . q{{ $metaclass->_report_unknown_args(\@attrs, $args) }};
}
if($metaclass->is_anon_class){
return join "\n", @code;
}
-sub _report_unknown_args {
- my(undef, $metaclass, $attrs, $args) = @_;
-
- my @unknowns;
- my %init_args;
- foreach my $attr(@{$attrs}){
- my $init_arg = $attr->init_arg;
- if(defined $init_arg){
- $init_args{$init_arg}++;
- }
- }
-
- while(my $key = each %{$args}){
- if(!exists $init_args{$key}){
- push @unknowns, $key;
- }
- }
-
- $metaclass->throw_error( sprintf
- "Unknown attribute passed to the constructor of %s: %s",
- $metaclass->name, Mouse::Util::english_list(@unknowns),
- );
-}
-
1;
__END__
=head1 VERSION
-This document describes Mouse version 0.61
+This document describes Mouse version 0.71
=head1 SEE ALSO