[perl #128935] [BUG] "where" clauses are parsed, but not enforced, in "my" expressions

[email protected] ("Zoffix Znet via RT")
Newsgroups perl.perl6.compiler
Message-ID <[email protected]>
On Sun, 04 Dec 2016 01:21:56 -0800, [email protected] wrote:
> On Sun, 14 Aug 2016 18:19:44 -0700, timo wrote:
> >
> > gfldex:   m: dd my ($i, $k where * == 4) = (1,3); dd $i, $k
> > +camelia: rakudo-moar ee8a25: OUTPUT«(1, 3)␤Int $i = 1␤Int $k = 3␤»
> >
> > Shouldn't allow $k to be bound to any value that doesn't numify to 4,
> > but it does.
> >
> > Alternatively (or "in the mean time") it should probably complain
> > that
> > it's NYI.
> >
> 
> It is implemented and works for single variables. The bug occurs
> whenever the my is done on several variables.
> 
> And I can't get it to dump the parse tree, as it hangs (perhaps
> related to the bug?):
> 
> This is the shortest hanging golf I got:
> 
> ./perl6 --target=parse -e 'my ($, $)'


Using fix:  Fix postconstraints in `my (...)` being ignored
Using test: Test postconstraints in `my (...)`

Thank you for the report. This is now fixed in branch `post-release`.

Fix:  https://github.com/rakudo/rakudo/commit/3745eff13a21ad8
Test: https://github.com/perl6/roast/commit/4ce0fc56db432b52b
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.