$spec->{$no_init}{init_arg} = $no_init;
}
local $self->{captures} = {};
- my $body = ' my $class = shift;'."\n";
+ my $body = ' my $class = shift;'."\n"
+ .' $class = ref($class) if ref($class);'."\n";
$body .= $self->_handle_subconstructor($into, $name);
my $into_buildargs = $into->can('BUILDARGS');
if ( $into_buildargs && $into_buildargs != \&Moo::Object::BUILDARGS ) {
$body .= ' my $new = '.$self->construction_string.";\n";
$body .= $self->_assign_new($spec);
if ($into->can('BUILD')) {
- { local $@; require Method::Generate::BuildAll; }
+ require Method::Generate::BuildAll;
$body .= Method::Generate::BuildAll->new->buildall_body_for(
$into, '$new', '$args'
);