my $self = shift;
my ($slot_access) = @_;
- return '$attr->default($self)';
+ my $attr = $self->associated_attribute;
+
+ return '(do { '
+ . join(' ', $attr->_inline_generate_default(
+ '$self', '$default_for_reset'
+ )) . ' '
+ . '$default_for_reset; '
+ . '})';
}
sub _inline_optimized_set_new_value {
my $self = shift;
my ($inv, $new, $slot_access) = @_;
- return $slot_access . ' = $attr->default($self);';
+ return $slot_access . ' = ' . $self->_potential_value . ';';
}
no Moose::Role;