Hi,
A while ago I got some (admittedly under-tested) early support in for
type variables. I went to check it over today to play with it a bit and
try and improve the testing situation and found that it's somewhat
broken. The reason is that:
my ::T = Int;
Now parses as if "my ::T" is a call to "my" passing "::T", rather than
as scope declarator. At first I thought this was just because '::' had
been removed from the token sigil - which is in line with STD.pm at the
moment, but not in line with S02 which very much states the existence of
this as a sigil. I'm not sure why STD.pm misses it.
Curiously, adding it back as a sigil still doesn't help us because we
still end up parsing it as a term (just modify sigil and add | '::' to
see this). At this point, I'm not especially sure where to look or what
to try next (and part of me wonders if it's missing in STD.pm's sigil
list for a reason - like there's something still to work out there).
Any input welcome,
Jonathan