It is not "untrue". The sequence you produced goes nowhere. Thus the sink context.
Best regards, Vadim Belman > On Dec 30, 2022, at 11:08 AM, Sean McAfee <eef...@gmail.com> wrote: > > Ah, got it, thanks. > > It's mildly vexing, but the kind of side-effecty coding I described isn't a > great idea in general. I only stumbled across the phenomenon while code > golfing. > > As a side note, code like this: > > sub f { 1 ... * ~~ /9/; $/ } > > ...produces an untrue warning "Useless use of ... in sink context". Not sure > if it's worth filing a bug report... > > On Wed, Dec 28, 2022 at 12:49 PM Elizabeth Mattijsen <l...@dijkmat.nl > <mailto:l...@dijkmat.nl>> wrote: >> That's because it at one time was decided that smart-match would set $/ in >> the caller's scope. Which is a pain for implementation and optimizations. >> I would be very much in favour of getting rid of that "feature", fwiw. >> >> > On 28 Dec 2022, at 18:45, Sean McAfee <eef...@gmail.com >> > <mailto:eef...@gmail.com>> wrote: >> > >> > But if a sequence has its own $/, why does * ~~ /9/ set $/? >> > >> > Actually it's not just sequences, as a little more experimentation showed: >> > >> > [0] > first /9/, ^Inf >> > 9 >> > [1] > $/ >> > Nil >> > [2] > grep /9/, ^10 >> > (9) >> > [3] > $/ >> > Nil >> > >> > The * ~~ "trick" sets $/ in these cases too. >> > >> > >> > On Wed, Dec 28, 2022 at 12:01 PM Elizabeth Mattijsen <l...@dijkmat.nl >> > <mailto:l...@dijkmat.nl>> wrote: >> > This isn't specific to the REPL: >> > >> > $ raku -e 'say 1 ... /9/; say $/' >> > (1 2 3 4 5 6 7 8 9) >> > Nil >> > >> > I can only assume that the sequence has its own scope for $/, and thus >> > isn't visible outside of it. >> > >> > >> > Liz >> > >> > > On 28 Dec 2022, at 16:47, Sean McAfee <eef...@gmail.com >> > > <mailto:eef...@gmail.com>> wrote: >> > > >> > > In a fresh 2022.12 Raku REPL, when the endpoint of a sequence is a >> > > Regex, the $/ variable seems not to be set: >> > > >> > > [0] > 1 ... /9/ >> > > (1 2 3 4 5 6 7 8 9) >> > > [1] > $/ >> > > Nil >> > > >> > > If I match more explicitly using a WhateverCode, it works: >> > > >> > > [2] > 1 ... * ~~ /9/ >> > > (1 2 3 4 5 6 7 8 9) >> > > [3] > $/ >> > > 「9」 >> > > >> > > Is this the intended behavior, or a bug? >> > > >> > >>