[02:16] <ugexe> fyi i have a few errata PRs open in the roast repo that would be needed for some tests to pass 

[02:46] <ugexe> just mentioning as i cant merge into the errata branches

[05:01] <Geth> ¦ rakudo: ugexe++ created pull request #6696: RakuAST: let node declarations be roles, and make the mixins roles

[05:01] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6696

[07:06] <Geth> ¦ roast/6.d-errata: 61762da16e | (Elizabeth Mattijsen)++ | S04-declarations/constant.t

[07:06] <Geth> ¦ roast/6.d-errata: Using constants as a type is a no-no

[07:06] <Geth> ¦ roast/6.d-errata: 

[07:06] <Geth> ¦ roast/6.d-errata: Using a constant as a type constraint never worked (and probably never

[07:06] <Geth> ¦ roast/6.d-errata: will).  In RakuAST it became a compile time error, so change:

[07:06] <Geth> ¦ roast/6.d-errata: 

[07:06] <Geth> ¦ roast/6.d-errata: 1. change test from "todo" to "skip"

[07:06] <Geth> ¦ roast/6.d-errata: 2. make sure other tests are compiled at runtime

[07:06] <Geth> ¦ roast/6.d-errata: review: https://github.com/Raku/roast/commit/61762da16e

[07:10] <lizmat> m: sub b() { sub a($x = return 42) { }; a }; dd b

[07:10] <camelia> rakudo-moar e17a1d43b: OUTPUT: «42␤»

[07:10] <lizmat> m: Q|sub b() { sub a($x = return 42) { }; a }; dd b|.AST.EVAL

[07:10] <camelia> rakudo-moar e17a1d43b: OUTPUT: «Attempt to return outside of any Routine␤  in sub a at EVAL_0 line 1␤  in sub b at EVAL_0 line 1␤  in block <unit> at <tmp> line 1␤␤»

[07:11] <lizmat> feels to me that "return" as a default value should be disallowed

[07:12] <lizmat> m: sub b() { sub a($x = return-rw 42) { }; a }; dd b   # as should be return-rw

[07:12] <camelia> rakudo-moar e17a1d43b: OUTPUT: «42␤»

[07:13] <lizmat> hmmm... there's a whole set of these:

[07:14] <lizmat> m: loop { LAST say "goodbye"; sub a($x = last) { }; a 

[07:14] <camelia> rakudo-moar e17a1d43b: OUTPUT: «===SORRY!=== Error while compiling <tmp>␤Missing block␤at <tmp>:1␤------> T say "goodbye"; sub a($x = last) { }; a<HERE><EOL>␤    expecting any of:␤        statement end␤        statement modifier␤        statement modifier loop␤»

[07:14] <lizmat> m: loop { LAST say "goodbye"; sub a($x = last) { }; a }

[07:14] <camelia> rakudo-moar e17a1d43b: OUTPUT: «goodbye␤»

[07:21] <Geth> ¦ roast/6.d-errata: 017c3e96de | (Elizabeth Mattijsen)++ | S12-attributes/smiley.t

[07:21] <Geth> ¦ roast/6.d-errata: Make smiley tests less specific

[07:21] <Geth> ¦ roast/6.d-errata: 

[07:21] <Geth> ¦ roast/6.d-errata: In the legacy grammar, many of these tests were testing for runtime

[07:21] <Geth> ¦ roast/6.d-errata: In RakuAST many of these types of errors with attribute

[07:22] <Geth> ¦ roast/6.d-errata: initializations have become compile-time errors, with their own

[07:22] <Geth> ¦ roast/6.d-errata: execution error object.

[07:22] <Geth> ¦ roast/6.d-errata: 

[07:22] <Geth> ¦ roast/6.d-errata: So change these "throws-like" tests to "dies-ok" tests with the

[07:22] <Geth> ¦ roast/6.d-errata: original code wrapped in an EVAL.

[07:22] <Geth> ¦ roast/6.d-errata: review: https://github.com/Raku/roast/commit/017c3e96de

[07:25] <Geth> ¦ roast/6.d-errata: 488ebe0b2d | (Elizabeth Mattijsen)++ | S12-attributes/class.t

[07:25] <Geth> ¦ roast/6.d-errata: Make test code syntactically correct

[07:25] <Geth> ¦ roast/6.d-errata: 

[07:25] <Geth> ¦ roast/6.d-errata: Apparently the order of checks in RakuAST is slightly different

[07:25] <Geth> ¦ roast/6.d-errata: than in legacy, so the unclosed class was seen before the error

[07:25] <Geth> ¦ roast/6.d-errata: about the missing "self".  Fix by adding a closing }

[07:25] <Geth> ¦ roast/6.d-errata: review: https://github.com/Raku/roast/commit/488ebe0b2d

[07:28] <Geth> ¦ roast/6.d-errata: 783ad36bf3 | (Elizabeth Mattijsen)++ | S12-class/augment-supersede.t

[07:28] <Geth> ¦ roast/6.d-errata: Make test code syntactically correct

[07:28] <Geth> ¦ roast/6.d-errata: 

[07:28] <Geth> ¦ roast/6.d-errata: Apparently the order of checks in RakuAST is slightly different

[07:28] <Geth> ¦ roast/6.d-errata: than in legacy, so the unclosed class was seen before the error

[07:28] <Geth> ¦ roast/6.d-errata: about cyclical inheriting.  Fix by adding a closing }

[07:28] <Geth> ¦ roast/6.d-errata: review: https://github.com/Raku/roast/commit/783ad36bf3

[07:48] <Geth> ¦ roast/6.d-errata: 21552f14f9 | (Elizabeth Mattijsen)++ | S32-exceptions/misc2.t

[07:48] <Geth> ¦ roast/6.d-errata: Perl 5 variables are no longer treated specially

[07:48] <Geth> ¦ roast/6.d-errata: 

[07:48] <Geth> ¦ roast/6.d-errata: So change the test to a generic "dies-ok" instead of for a specific

[07:48] <Geth> ¦ roast/6.d-errata: error type

[07:48] <Geth> ¦ roast/6.d-errata: review: https://github.com/Raku/roast/commit/21552f14f9

[07:54] <lizmat> m: class A { ... }; class B does A { }; role A { }

[07:54] <camelia> rakudo-moar e17a1d43b: OUTPUT: «===SORRY!=== Error while compiling <tmp>␤A is not composable, so B cannot compose it␤at <tmp>:1␤»

[07:59] <Geth> ¦ roast/6.d-errata: 2c348d7dc5 | (Elizabeth Mattijsen)++ | integration/advent2011-day11.t

[07:59] <Geth> ¦ roast/6.d-errata: Fix variable specification in test

[07:59] <Geth> ¦ roast/6.d-errata: 

[07:59] <Geth> ¦ roast/6.d-errata: Apparently in legacy the validity of the method name was checked

[07:59] <Geth> ¦ roast/6.d-errata: *before* seeing that the invocant was not a defined variable.

[07:59] <Geth> ¦ roast/6.d-errata: 

[07:59] <Geth> ¦ roast/6.d-errata: Fix by specifying the correct variable name.

[07:59] <Geth> ¦ roast/6.d-errata: review: https://github.com/Raku/roast/commit/2c348d7dc5

[08:09] <Geth> ¦ roast/6.d-errata: 36fdd72818 | (Elizabeth Mattijsen)++ | S32-exceptions/misc.t

[08:09] <Geth> ¦ roast/6.d-errata: Tweak many exception tests

[08:09] <Geth> ¦ roast/6.d-errata: 

[08:09] <Geth> ¦ roast/6.d-errata: 1. inheritance recursion is checked at compose time

[08:09] <Geth> ¦ roast/6.d-errata: 2. Useless use messages are no longer prefixed with "WARNINGS"

[08:09] <Geth> ¦ roast/6.d-errata: review: https://github.com/Raku/roast/commit/36fdd72818

[08:15] <lizmat> my report of 6.d-errata issues: https://gist.github.com/lizmat/75080e598e92f2484b7808d99f98969a

[08:37] *** finanalyst left
[08:52] *** djinni` left
[09:00] *** djinni` joined
[10:31] <[Coke]> Added a section to the Changelog draft for bits for the release announcement (at the top), still have the Changelog stuff at the bottom, with a reminder to myself to remove the commit IDs from the announcement itself.

[10:33] <[Coke]> How are we doing with commits left to go in/ongoing roast cleanup?

[10:34] <[Coke]> Still a few commits that hit after the last blin run (which had a few failures)

[10:35] <[Coke]> Now that we're in the last week, I'll do a (probably not) final run and open a ticket.

[10:35] <[Coke]> releasable6: next

[10:35] <releasable6> [Coke], Next release in ≈7 days and ≈8 hours. There are no known blockers. 392 out of 445 commits logged

[10:35] <releasable6> [Coke], Details: https://gist.github.com/9647800ca500fb73fe6abd725c009385

[10:38] <Geth> ¦ Blin/main: e944a4b5a1 | (Will Coleda)++ | lib/Blin/Processing.rakumod

[10:38] <Geth> ¦ Blin/main: Make it more likely to kill memory leaking tests.

[10:38] <Geth> ¦ Blin/main: review: https://github.com/Raku/Blin/commit/e944a4b5a1

[10:38] <[Coke]> ^^ Been running with that for multiple days, just hadn't pushed it

[10:43] <[Coke]> kicked off another blin run now, offline for a while

[10:49] <lizmat> fwiw, I think we should release a RakuAST default 2026.09 release:

[10:49] <lizmat> 1. provided that 6.c/d errata roast are clean

[10:51] <lizmat> 2. very publicly making clear that RAKUDO_RAKUAST=0 will enable the legacy backend and still be at 6.d like before

[10:52] <lizmat> people using Raku in production would then only need to set the env var if they running into problems

[10:53] <lizmat> then, in a next release where we make 6.e default, we should very publicly making clear that RAKU_LANGUAGE_VERSION=v6.d    would set the default to that language version

[10:53] <lizmat> should people find problems when running in 6.e

[10:54] <lizmat> (note that I didn't mention that the eco system should be free of issues)

[11:51] <Geth> ¦ roast/6.d-errata: 6178012a60 | (Elizabeth Mattijsen)++ | S26-documentation/wacky.t

[11:51] <Geth> ¦ roast/6.d-errata: Skip 2 shaky declarator docs behaviour tests

[11:51] <Geth> ¦ roast/6.d-errata: 

[11:51] <Geth> ¦ roast/6.d-errata: The behaviour has become much more sane in RakuAST

[11:51] <Geth> ¦ roast/6.d-errata: review: https://github.com/Raku/roast/commit/6178012a60

[12:16] *** MasterDuke joined
[12:23] *** MasterDuke left
[12:58] <Geth> ¦ roast/6.c-errata: c20442bfaa | (Elizabeth Mattijsen)++ | 2 files

[12:58] <Geth> ¦ roast/6.c-errata: Mark failing pod block checks as todo

[12:58] <Geth> ¦ roast/6.c-errata: 

[12:58] <Geth> ¦ roast/6.c-errata: Not sure it's worth the time to figure out what is going wrong

[12:58] <Geth> ¦ roast/6.c-errata: in the legacy podify logic

[12:58] <Geth> ¦ roast/6.c-errata: review: https://github.com/Raku/roast/commit/c20442bfaa

[13:01] <Geth> ¦ roast/6.d-errata: 2df276cecb | (Elizabeth Mattijsen)++ | 2 files

[13:01] <Geth> ¦ roast/6.d-errata: Mark failing pod block checks as todo

[13:01] <Geth> ¦ roast/6.d-errata: 

[13:01] <Geth> ¦ roast/6.d-errata: Not sure it's worth the time to figure out what is going wrong

[13:01] <Geth> ¦ roast/6.d-errata: in the legacy podify logic

[13:01] <Geth> ¦ roast/6.d-errata: review: https://github.com/Raku/roast/commit/2df276cecb

[13:12] <Geth> ¦ roast/6.c-errata: abaf1232e5 | (Elizabeth Mattijsen)++ | S28-named-variables/slangs.t

[13:12] <Geth> ¦ roast/6.c-errata: Remove tests on obsolete slang variables

[13:12] <Geth> ¦ roast/6.c-errata: 

[13:12] <Geth> ¦ roast/6.c-errata: $=Quasi, $=Trans were already removed from 6.d-errata.

[13:12] <Geth> ¦ roast/6.c-errata: 

[13:12] <Geth> ¦ roast/6.c-errata: $=P5Regex will be gone when :Perl5 regex support is eradicated

[13:12] <Geth> ¦ roast/6.c-errata: review: https://github.com/Raku/roast/commit/abaf1232e5

[13:12] <Geth> ¦ roast/6.d-errata: 3befe9fbdf | (Elizabeth Mattijsen)++ | S28-named-variables/slangs.t

[13:12] <Geth> ¦ roast/6.d-errata: Remove tests on obsolete slang variable

[13:12] <Geth> ¦ roast/6.d-errata: 

[13:12] <Geth> ¦ roast/6.d-errata: $=P5Regex will be gone when :Perl5 regex support is eradicated

[13:12] <Geth> ¦ roast/6.d-errata: review: https://github.com/Raku/roast/commit/3befe9fbdf

[13:13] <lizmat> afk for a few hours&

[14:38] <ugexe> We’re still missing documentation for all the rakuast classes, let alone making sure the exposed apis are good enough (a prerequisite of the documentation part).

[14:44] <Geth> ¦ rakudo/main: 15 commits pushed by (Nick Logan)++

[14:44] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/compare/7ded5ff7de2c...29d41e01f80b

[15:32] *** finanalyst joined
[15:55] <ugexe> we also need to decide on the two PRs mentioned in https://github.com/Raku/problem-solving/issues/528

[16:12] <ugexe> i'd also be wary of telling people they can still use the legacy frontend if we havent actually extensively tested that

[16:14] <lizmat> isn't that what we're doing now with blin runs / make spectest with RAKUDO_RAKUAST=1 set ?

[16:15] <ugexe> you're proposing a rakuast built core with legacy runtime. does that match the testing scenario you mentioned?

[16:15] <lizmat> ah, good point, indeed...  hmmm...

[16:16] * lizmat makes mental note to always build core with RAKUDO_RAKUAST=1 now

[16:21] <ugexe> imo if there is going to be a switch to reenable legacy it shouldnt be advertised (i.e. it should be for allowig raku core devs to debug) and it should only exist for a couple of releases

[16:21] <lizmat> agree with the couple of releases, because when we release 6.e, it will have to be gone

[16:22] <lizmat> I see it more as an escape hatch for the daring

[16:22] <ugexe> an easier escape hatch is to use a release from one month earlier

[16:24] <lizmat> not when you need to reinstall stuff?

[16:25] <lizmat> hmmm... with a RakuAST built core, I get a fail on installing Crypt::Random with RakuAST:

[16:25] <lizmat> RAKUDO_RAKUAST=1 zef install Crypt::Random

[16:25] <lizmat> ===> Searching for: Crypt::Random

[16:25] <lizmat> ===> Staging Crypt::Random:ver<0.4.1>

[16:25] <lizmat> ===SORRY!===

[16:25] <lizmat> Method 'PERFORM-BEGIN' must be implemented by RakuAST::BeginTime because it is required by roles: RakuAST::BeginTime.

[16:26] <ugexe> yea probably the pr i just merged

[16:26] <ugexe> which goes back to my earlier comment about finalizing the public api

[16:27] <lizmat> fwiw, I'd be ok with not having full RakuAST docs for a release with RakuAST as the default

[16:27] <lizmat> I agree the docs should be there for the 6.e release

[16:28] <lizmat> hmm...  Array::Agnostic will not install with a RakuAST built core

[16:29] <lizmat> Object does not exist in serialization context

[16:29] <lizmat> (independent of whether RAKUDO_RAKUAST=1 is specified)

[16:30] <ugexe> that moarvm serialization issue wasn't rakuast specific

[16:31] <ugexe> https://github.com/rakudo/rakudo/issues/6507

[16:32] <lizmat> aaah,,,  duh

[16:32] <lizmat> that's the one that needs the MoarVM fix, right?

[16:34] <ugexe> yes

[16:34] <lizmat> understood

[16:35] <ugexe> i'm also not sure why we should release rakuast without 6.e

[16:35] <lizmat> well, it would be a real life test of 6.d under RakuAST, wouldn't it ?

[16:36] <ugexe> well we version things for the users

[16:36] <ugexe> instead we would be exposing a bunch of new namespaces, potential behavior changes, etc in the existing version

[16:37] <ugexe> maybe thats mostly unavoidable i guess though... has to happen sooner or later

[16:38] <lizmat> yeah, and instead of one big bang, we would have 2 slightly smaller big bangs

[16:38] <lizmat> afk for an hour or so&

[16:58] <ugexe> oh the Crypt::Random crypt isnt a raku issue. its from the `if` module which calls a IMPL- method for some reason

[17:06] <ugexe> https://github.com/raku-community-modules/if/pull/10

[17:08] <[Coke]> https://github.com/coke/raku-blin-release-results/blob/2026.09/failures.md - through 7ded5ff7de

[17:08] <linkable6> (2026-09-18) https://github.com/rakudo/rakudo/commit/7ded5ff7de Only use new Rat.raku rendering in 6.e+

[17:08] <[Coke]> some repeats, some new.

[17:10] <[Coke]> did not do a redo since the "can't find anything" failures are gone.

[17:11] <[Coke]> can retry if any look suspicious.

[17:28] <ugexe> the notable ones are LWP::Simple, Terminal::UI, and FontConfig

[18:16] <Geth> ¦ rakudo/main: 26d8ff70dc | (Nick Logan)++ (committed using GitHub Web editor) | 4 files

[18:16] <Geth> ¦ rakudo/main: RakuAST: report the composition error of a documented type (#6686)

[18:16] <Geth> ¦ rakudo/main: 

[18:16] <Geth> ¦ rakudo/main: Previously a class or grammar that carried a declarator doc and failed

[18:16] <Geth> ¦ rakudo/main: to compose died with a dispatch error from podify, and the composition

[18:16] <Geth> ¦ rakudo/main: error with its location was lost. The CATCH that records the compose

[18:16] <Geth> ¦ rakudo/main: exception was at the level of PRODUCE-META-OBJECT, so a failed compose

[18:16] <Geth> ¦ rakudo/main: returned from the method without the type and podify was given NQPMu.

[18:16] <Geth> ¦ rakudo/main: <…commit message has 16 more lines…>

[18:16] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/26d8ff70dc

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

[18:16] <Geth> ¦ rakudo/main: f145958045 | RakuAST: make a redeclaration a sorry under use fatal

[18:16] <Geth> ¦ rakudo/main: bed72be16e | RakuAST: share the lexicals a scope declares with a declaration of their name

[18:16] <Geth> ¦ rakudo/main: 306b7d5ae9 | RakuAST: leave a reported redeclaration to the parser

[18:16] <Geth> ¦ rakudo/main: 66cb1418fb | Merge pull request #6695 from ugexe/ugexe/rakuast-block-topic-redeclaration

[18:16] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/compare/26d8ff70dcd6...66cb1418fb3c

[18:54] <lizmat> ugexe: thanks for the "if" fix, update on its way to the ecosystem now

[20:39] <Geth> ¦ rakudo/main: 0f34b7f417 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[20:39] <Geth> ¦ rakudo/main: RakuAST: make node methods with a return type inlinable (#6697)

[20:39] <Geth> ¦ rakudo/main: 

[20:39] <Geth> ¦ rakudo/main: Previously a node method that declares a return type ran its body as a

[20:39] <Geth> ¦ rakudo/main: closure so the value could be checked. MoarVM never inlines a frame that

[20:39] <Geth> ¦ rakudo/main: takes a closure, and the conversion, the check and the error message

[20:39] <Geth> ¦ rakudo/main: together were too large to inline as well. A call to a flag accessor

[20:39] <Geth> ¦ rakudo/main: such as sunk cost about 90 ns from another node method and 130 ns from

[20:39] <Geth> ¦ rakudo/main: <…commit message has 9 more lines…>

[20:39] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/0f34b7f417

[22:10] *** finanalyst left
[22:39] <Geth> ¦ rakudo: ugexe++ created pull request #6699: RakuAST: keep a loop body a frame once a loop has finished in its scope

[22:39] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6699

[22:48] *** Pixi` joined
[22:51] *** Pixi left
[22:53] *** Pixi` left
[23:05] *** Pixi joined
[23:21] <Geth> ¦ rakudo/main: 6e5474c240 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/var-lowering.rakumod

[23:21] <Geth> ¦ rakudo/main: RakuAST: keep a loop body a frame once a loop has finished in its scope (#6699)

[23:21] <Geth> ¦ rakudo/main: 

[23:21] <Geth> ¦ rakudo/main: Previously every eligible loop body flattened into the frame around it.

[23:21] <Geth> ¦ rakudo/main: MoarVM specializes a frame that is still running only once, from inside

[23:21] <Geth> ¦ rakudo/main: its first hot loop, using what it had observed by then. A loop starting

[23:21] <Geth> ¦ rakudo/main: after that one ended ran the rest of the invocation with nothing observed

[23:21] <Geth> ¦ rakudo/main: about its body, so a second flattened loop in one frame ran about 2.5x

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

[23:21] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/6e5474c240

