$args{init_arg} = $args{name}
unless exists $args{init_arg};
+
$args{is} ||= '';
+ if ( $args{lazy_build} ) {
+ $args{lazy} = 1;
+ $args{builder} ||= "_build_$args{name}";
+ }
+
bless \%args, $class;
}
my $name = shift;
for my $super ($class->meta->linearized_isa) {
- my $super_attr = $super->meta->get_attribute($name)
+ my $super_attr = $super->can("meta") && $super->meta->get_attribute($name)
or next;
return %{ $super_attr->_create_args };
}