diff -bu ./lib/Moo/Role.pm~ ./lib/Moo/Role.pm --- ./lib/Moo/Role.pm~ 2017-12-01 02:45:50.000000000 +0100 +++ ./lib/Moo/Role.pm 2017-12-22 01:00:31.000000000 +0100 @@ -332,7 +332,8 @@ my $apply_defaults = exists $APPLY_DEFAULTS{$class} ? $APPLY_DEFAULTS{$class} : $APPLY_DEFAULTS{$class} = do { - my %attrs = map { @{$INFO{$_}{attributes}||[]} } @roles; + my @attrs = map { @{$INFO{$_}{attributes}||[]} } @roles; + my %attrs = @attrs; if ($INC{'Moo.pm'} and keys %attrs