+ - Fix a bug where coercions weren't called on lazy default/builder returns
- Switch Moo::Utils to using Module::Runtime, and add the 5.8 %INC
leakage fix into Role::Tiny's _load_module to provide partial parity
- Update incompatibilities with Moose documentation
sub _generate_use_default {
my ($self, $me, $name, $spec, $test) = @_;
+ my $get_value = $self->_generate_get_default($me, $name, $spec);
+ if ($spec->{coerce}) {
+ $get_value = $self->_generate_coerce(
+ $name, $me, $get_value,
+ $spec->{coerce}
+ )
+ }
$self->_generate_simple_set(
- $me, $name, $spec, $self->_generate_get_default($me, $name, $spec)
+ $me, $name, $spec, $get_value
).' unless '.$test;
}