diff --git a/src/core/traits.pm b/src/core/traits.pm index c554da036e0..78411395f8b 100644 --- a/src/core/traits.pm +++ b/src/core/traits.pm @@ -252,12 +252,13 @@ my $!; my $/; my $_; -multi sub trait_mod:(Routine:D \r, :$export!, :$SYMBOL = '&' ~ r.name) { +multi sub trait_mod:(Routine:D \r, :$export!) { my $to_export := r.multi ?? r.dispatcher !! r; + my $exp_name := '&' ~ r.name; my @tags = flat 'ALL', (nqp::istype($export,Pair) ?? $export.key() !! nqp::istype($export,Positional) ?? @($export)>>.key !! 'DEFAULT'); - Rakudo::Internals.EXPORT_SYMBOL(nqp::decont($SYMBOL), @tags, $to_export); + Rakudo::Internals.EXPORT_SYMBOL($exp_name, @tags, $to_export); } multi sub trait_mod:(Mu:U \type, :$export!) { my $exp_name := type.^shortname;