[01:00] <[Coke]> one failure so far on blin: https://github.com/coke/raku-blin-release-results/tree/2026.07.1

[01:00] <[Coke]> https://github.com/coke/raku-blin-release-results/blob/2026.07.1/output_L10N%3A%3AZH_0.0.3

[01:00] <[Coke]> ⏳ 1760 out of 2482 modules processed (70.91%)

[01:10] <[Coke]> that one bisects to https://github.com/rakudo/rakudo/commit/dbb13f451c5ecacf1acbe73e3b7a690abcc7b094 which is an AST one?

[01:10] <[Coke]> so that seems suspect.

[01:10] <[Coke]> (the failure, not the commit)

[01:10] <[Coke]> if you're looking at these before the run is done, the "bisected to" is one of the lines in the overview, btw.

[01:58] <ugexe> the l10n stuff uses rakuast, although i'm not sure we can actually count breaking those as regressions

[02:01] <ugexe> yeah i think that failure is more of an issue with L10N itself

[02:02] <ugexe> which has other issues that i'm not sure can be fixed

[02:03] <ugexe> for example i tried to fix https://github.com/rakudo/rakudo/issues/6046 but my conclusion at the time was the l10n stuff wasn't viable the way it is implemented

[02:12] <ugexe> If something is wrong with that commit though i expect more stuff should show up so i suppose we should just wait and see 

[02:20] <ugexe> The weird part is I would expect that commit to actually fix l10n modules 

[03:00] <releasable6> Next release in ≈6 days and ≈15 hours. There are no known blockers. Please log your changes in the ChangeLog: https://github.com/rakudo/rakudo/wiki/ChangeLog-Draft

[03:05] <ugexe> "l10n stuff wasn't viable the way it is implemented" i meant viable as something to use with blin

[04:10] <Geth> ¦ rakudo: ugexe++ created pull request #6462: RakuAST: make the require adverb constraint tests self-contained

[04:10] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6462

[04:58] <ugexe> https://github.com/Raku-L10N/ZH/pull/2

[05:10] <Geth> ¦ rakudo/main: e4ef743148 | (Nick Logan)++ | t/12-rakuast/xx-fixed-in-rakuast.rakutest

[05:10] <Geth> ¦ rakudo/main: Limit the attribute-signature-default todo to the legacy frontend

[05:10] <Geth> ¦ rakudo/main: 

[05:10] <Geth> ¦ rakudo/main: The default-from-signature attribute test passes under the RakuAST

[05:10] <Geth> ¦ rakudo/main: frontend, so the todo now applies only where the dispatch error

[05:10] <Geth> ¦ rakudo/main: remains.

[05:10] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/e4ef743148

[05:10] <Geth> ¦ rakudo/main: d3b85b99ac | (Nick Logan)++ | 3 files

[05:10] <Geth> ¦ rakudo/main: Test require constraints against a fixture distribution

[05:10] <Geth> ¦ rakudo/main: 

[05:10] <Geth> ¦ rakudo/main: Previously the require adverb tests constrained requires of the

[05:10] <Geth> ¦ rakudo/main: installed Test module. What enforces a constraint depends on which

[05:10] <Geth> ¦ rakudo/main: repository resolves the name and what its distribution declares: the

[05:10] <Geth> ¦ rakudo/main: test harness sets RAKULIB=./lib, where rakudo's own lib/Test.rakumod

[05:10] <Geth> ¦ rakudo/main: resolves as a bare source that satisfies any constraint, so the

[05:10] <Geth> ¦ rakudo/main: <…commit message has 6 more lines…>

[05:10] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/d3b85b99ac

[05:10] <Geth> ¦ rakudo/main: bcd2c0a5ba | (Nick Logan)++ (committed using GitHub Web editor) | 3 files

[05:10] <Geth> ¦ rakudo/main: Merge pull request #6462 from ugexe/ugexe/require-constraint-test-fixes

[05:10] <Geth> ¦ rakudo/main: 

[05:10] <Geth> ¦ rakudo/main: RakuAST: make the require adverb constraint tests self-contained

[05:10] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/bcd2c0a5ba

[06:12] *** coleman left
[10:14] *** finanalyst joined
[11:08] *** finanalyst left
[15:42] <[Coke]> blin done. just one more failure: cro

[15:54] <ugexe> that one is certainly more concerning :)

[16:03] <ugexe> [Coke]: might be flakey / racey, could you try running that one again?

[16:05] <Geth> ¦ rakudo/main: 5 commits pushed by (Nick Logan)++

[16:05] <Geth> ¦ rakudo/main: 2141345ccc | RakuAST: add the lexical-to-local lowering escape analysis

[16:05] <Geth> ¦ rakudo/main: 85c7499a84 | RakuAST: emit analysis-approved lexicals as frame-locals

[16:05] <Geth> ¦ rakudo/main: b305035428 | RakuAST: flatten frame-independent sunk loop bodies

[16:05] <Geth> ¦ rakudo/main: 26b080a648 | RakuAST: flatten frame-independent conditional branch bodies

[16:05] <Geth> ¦ rakudo/main: 6c51754698 | Merge pull request #6461 from ugexe/ugexe/rakuast-lex2local-lowering

[16:05] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/compare/bcd2c0a5ba03...6c51754698b6

[16:07] <Geth> ¦ rakudo: ugexe++ created pull request #6463: RakuAST: skip unused implicits, flatten more statement forms, and inline compile-time decided dispatches

[16:07] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6463

[16:08] <ugexe> i think thats all the optimizations from Optimizer.nqp that can be ported

[16:08] <ugexe> the last of them rather

[16:22] *** hurufu joined
[16:35] <ugexe> bah, i guess there are a couple more still

[16:35] <ugexe> hllbool stripping and some smartmatch stuff

[16:39] <ugexe> ➜  rakudo git:(ugexe/rakuast-lex2local-riders) ./install/bin/raku -e 'my $t = now; my int $i; my int $n; while $i < 10_000_000 { $n = $n + $i; $i++ }; printf "%.3f\n", now - $t'

[16:39] <ugexe> 0.144

[16:39] <ugexe> ➜  rakudo git:(ugexe/rakuast-lex2local-riders) RAKUDO_RAKUAST=1 ./install/bin/raku -e 'my $t = now; my int $i; my int $n; while $i < 10_000_000 { $n = $n + $i; $i++ }; printf "%.3f\n", now - $t'

[16:39] <ugexe> 0.139

[16:39] <ugexe> ➜  rakudo git:(ugexe/rakuast-lex2local-riders) ./install/bin/raku -e 'my $t = now; my $x = 0; my $i = 0; while $i < 1_000_000 { { $x = $x + 1 }; $i = $i + 1 }; printf "%.3f\n", now - $t'

[16:39] <ugexe> 0.325

[16:39] <ugexe> ➜  rakudo git:(ugexe/rakuast-lex2local-riders) RAKUDO_RAKUAST=1 ./install/bin/raku -e 'my $t = now; my $x = 0; my $i = 0; while $i < 1_000_000 { { $x = $x + 1 }; $i = $i + 1 }; printf "%.3f\n", now - $t'

[16:39] <ugexe> 0.217

[16:40] <ugexe> so rakuast is actually faster right now for native int while loops and bare blocks

[16:41] <ugexe> apparently legacy cant flatten the bare block case at all

[16:42] <ugexe> legacy closure clones and invokes the inner { $x = $x + 1 } every iteration because its arity check trips on the block optional topic parameter

[18:00] *** camelia left
[18:02] *** MasterDuke joined
[18:04] *** camelia joined
[18:06] <MasterDuke> ugexe: i don't know how much it would trigger, but something the static optimizer doesn't really do right now is dead-code-elimination. so `raku -e 'if 2 > 4 { say "dead" } else { say "alive!" }'` at every `--target=` level (both legacy and RakuAST), shows the `if` being evaluated. obviously it would make the most sense to run after inlining

[18:11] <[Coke]> ugexe. sure.

[18:14] <[Coke]> Rerunning just Cro::HTTP against the new HEAD.

[18:22] <[Coke]> releasable6: next

[18:22] <releasable6> [Coke], Next release in ≈6 days and ≈0 hours. There are no known blockers. 216 out of 224 commits logged

[18:22] <releasable6> [Coke], Details: https://gist.github.com/feadd6dfcad54996ac4848440b1fab83

[18:22] <[Coke]> are those 8 commits all AST?

[18:22] <ugexe> yeah

[18:23] <[Coke]> 👍

[18:29] <[Coke]> yup, was fine on a rerun

[18:39] *** camelia left
[19:32] *** MasterDuke left
[19:35] *** camelia joined
[19:35] <nine> m: say "alive?"

[19:35] <camelia> rakudo-moar 6c5175469: OUTPUT: «alive?␤»

[20:36] *** finanalyst joined
[20:59] *** finanalyst left
[21:10] *** finanalyst joined
[21:18] *** finanalyst left
[21:36] *** hurufu left
[21:36] *** hurufu joined
[21:39] <ugexe> MasterDuke: Thanks, I have a branch adding some dead code elimination now but it’s behind like 4 other branches I have yet to review and push 

[21:39] <tellable6> ugexe, I'll pass your message to MasterDuke

[21:44] <patrickb> nine: Hi there! I'm off to bed, but still nice seeing you around!

[22:21] *** hurufu left
[23:00] <releasable6> Next release in ≈5 days and ≈19 hours. There are no known blockers. Please log your changes in the ChangeLog: https://github.com/rakudo/rakudo/wiki/ChangeLog-Draft

[23:40] <ugexe> m: while 0 { LAST { say 42 } }

[23:40] <camelia> rakudo-moar 6c5175469: OUTPUT: «42␤»

[23:40] <ugexe> seems like that shouldn't print anything

[23:40] <ugexe> discovered this while investigating dead code removal

[23:41] <ugexe> m: while 0 { FIRST { say 24 }; LAST { say 42 } }

[23:41] <camelia> rakudo-moar 6c5175469: OUTPUT: «42␤»

[23:41] <ugexe> makes even less sense due to inconsistency

[23:46] <ugexe> m: for 0 { FIRST { say 24 }; LAST { say 42 } }

[23:46] <camelia> rakudo-moar 6c5175469: OUTPUT: «24␤42␤»

[23:46] <ugexe> m: for Nil { FIRST { say 24 }; LAST { say 42 } }

[23:46] <camelia> rakudo-moar 6c5175469: OUTPUT: «24␤42␤»

[23:47] <ugexe> m: for () { FIRST { say 24 }; LAST { say 42 } }

[23:47] <camelia> rakudo-moar 6c5175469: ( no output )

[23:50] <ugexe> bug has existed since 2012

[23:52] <ugexe> https://github.com/rakudo/rakudo/issues/5517

