There was another attempt to fix this in 1b898c81, which does prevent
clashes between the Int class object and defined Int values, and similar
clashes for some other classes, but there remain other cases of this
kind of .WHICH clash:

> Str.WHICH
Str|U43431280
> for Str, "U43431280" { say (.WHICH, .DEFINITE) }
(Str|U43431280 False)
(Str|U43431280 True)
> Str === "U43431280"
True
> ObjAt.WHICH
ObjAt|U43431256
> for ObjAt, ObjAt.new("U43431256") { say (.WHICH, .DEFINITE) }
(ObjAt|U43431256 False)
(ObjAt|U43431256 True)
> ObjAt === ObjAt.new("U43431256")
True

-zefram

Reply via email to