# New Ticket Created by  Faye 
# Please include the string:  [perl #128667]
# in the subject line of all future correspondence about this issue. 
# <URL: https://rt.perl.org/Ticket/Display.html?id=128667 >


$ perl6 -e 'say Int.WHAT; enum A <B C Int>; say Int.WHAT'
(Int)
(A)

Note that the original type is still available under CORE:

$ perl6 -e 'say Int.WHAT; enum A <B C Int>; say CORE::Int.WHAT'
(Int)
(Int)

But this ruins more than just what name you can use:

$ perl6 -e 'enum A <B C Int>; say 42'
===SORRY!===
Cannot unbox a type object

I found this bug when coming across this error:

$ perl6 -e 'enum A <B Enumeration>; enum C <D E>;'
===SORRY!=== Error while compiling -e
Cannot resolve caller trait_mod:<does>(C, A); none of these signatures match:
    (Mu:U $doee, Mu:U $role)
    (Variable:D $v, Mu:U $role)
at -e:1

The proper solution would be to not try to take that global in this case, 
and/or to allow the user to specify they don't want to pollute the global 
namespace in the first place.

Reply via email to