ugexe fyi i have a few errata PRs open in the roast repo that would be needed for some tests to pass 02:16
just mentioning as i cant merge into the errata branches 02:46
Geth rakudo: ugexe++ created pull request #6696:
RakuAST: let node declarations be roles, and make the mixins roles
05:01
roast/6.d-errata: 61762da16e | (Elizabeth Mattijsen)++ | S04-declarations/constant.t
Using constants as a type is a no-no

Using a constant as a type constraint never worked (and probably never will). In RakuAST it became a compile time error, so change:
1. change test from "todo" to "skip" 2. make sure other tests are compiled at runtime
07:06
lizmat m: sub b() { sub a($x = return 42) { }; a }; dd b 07:10
camelia 42
lizmat m: Q|sub b() { sub a($x = return 42) { }; a }; dd b|.AST.EVAL
camelia 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
lizmat feels to me that "return" as a default value should be disallowed 07:11
m: sub b() { sub a($x = return-rw 42) { }; a }; dd b # as should be return-rw 07:12
camelia 42
lizmat hmmm... there's a whole set of these: 07:13
m: loop { LAST say "goodbye"; sub a($x = last) { }; a 07:14
camelia ===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
lizmat m: loop { LAST say "goodbye"; sub a($x = last) { }; a }
camelia goodbye
Geth roast/6.d-errata: 017c3e96de | (Elizabeth Mattijsen)++ | S12-attributes/smiley.t
Make smiley tests less specific

In the legacy grammar, many of these tests were testing for runtime In RakuAST many of these types of errors with attribute initializations have become compile-time errors, with their own execution error object.
So change these "throws-like" tests to "dies-ok" tests with the original code wrapped in an EVAL.
07:21
roast/6.d-errata: 488ebe0b2d | (Elizabeth Mattijsen)++ | S12-attributes/class.t
Make test code syntactically correct

Apparently the order of checks in RakuAST is slightly different than in legacy, so the unclosed class was seen before the error about the missing "self". Fix by adding a closing }
07:25
roast/6.d-errata: 783ad36bf3 | (Elizabeth Mattijsen)++ | S12-class/augment-supersede.t
Make test code syntactically correct

Apparently the order of checks in RakuAST is slightly different than in legacy, so the unclosed class was seen before the error about cyclical inheriting. Fix by adding a closing }
07:28
roast/6.d-errata: 21552f14f9 | (Elizabeth Mattijsen)++ | S32-exceptions/misc2.t
Perl 5 variables are no longer treated specially

So change the test to a generic "dies-ok" instead of for a specific error type
07:48
lizmat m: class A { ... }; class B does A { }; role A { } 07:54
camelia ===SORRY!=== Error while compiling <tmp>
A is not composable, so B cannot compose it
at <tmp>:1
Geth roast/6.d-errata: 2c348d7dc5 | (Elizabeth Mattijsen)++ | integration/advent2011-day11.t
Fix variable specification in test

Apparently in legacy the validity of the method name was checked
  *before* seeing that the invocant was not a defined variable.
Fix by specifying the correct variable name.
07:59
roast/6.d-errata: 36fdd72818 | (Elizabeth Mattijsen)++ | S32-exceptions/misc.t
Tweak many exception tests

1. inheritance recursion is checked at compose time 2. Useless use messages are no longer prefixed with "WARNINGS"
08:09
lizmat my report of 6.d-errata issues: gist.github.com/lizmat/75080e598e9...d99f98969a 08:15
08:37 finanalyst left 08:52 djinni` left 09:00 djinni` joined
[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:31
How are we doing with commits left to go in/ongoing roast cleanup? 10:33
Still a few commits that hit after the last blin run (which had a few failures) 10:34
Now that we're in the last week, I'll do a (probably not) final run and open a ticket. 10:35
releasable6: next
releasable6 [Coke], Next release in ā‰ˆ7 days and ā‰ˆ8 hours. There are no known blockers. 392 out of 445 commits logged
[Coke], Details: gist.github.com/9647800ca500fb73fe...725c009385
Geth Blin/main: e944a4b5a1 | (Will Coleda)++ | lib/Blin/Processing.rakumod
Make it more likely to kill memory leaking tests.
10:38
[Coke] ^^ Been running with that for multiple days, just hadn't pushed it
kicked off another blin run now, offline for a while 10:43
lizmat fwiw, I think we should release a RakuAST default 2026.09 release: 10:49
1. provided that 6.c/d errata roast are clean
2. very publicly making clear that RAKUDO_RAKUAST=0 will enable the legacy backend and still be at 6.d like before 10:51
people using Raku in production would then only need to set the env var if they running into problems 10:52
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
should people find problems when running in 6.e
(note that I didn't mention that the eco system should be free of issues) 10:54
Geth roast/6.d-errata: 6178012a60 | (Elizabeth Mattijsen)++ | S26-documentation/wacky.t
Skip 2 shaky declarator docs behaviour tests

The behaviour has become much more sane in RakuAST
11:51
12:16 MasterDuke joined 12:23 MasterDuke left
Geth roast/6.c-errata: c20442bfaa | (Elizabeth Mattijsen)++ | 2 files
Mark failing pod block checks as todo

Not sure it's worth the time to figure out what is going wrong in the legacy podify logic
12:58
roast/6.d-errata: 2df276cecb | (Elizabeth Mattijsen)++ | 2 files
Mark failing pod block checks as todo

Not sure it's worth the time to figure out what is going wrong in the legacy podify logic
13:01
roast/6.c-errata: abaf1232e5 | (Elizabeth Mattijsen)++ | S28-named-variables/slangs.t
Remove tests on obsolete slang variables

  $=Quasi, $=Trans were already removed from 6.d-errata.
  $=P5Regex will be gone when :Perl5 regex support is eradicated
13:12
roast/6.d-errata: 3befe9fbdf | (Elizabeth Mattijsen)++ | S28-named-variables/slangs.t
Remove tests on obsolete slang variable

  $=P5Regex will be gone when :Perl5 regex support is eradicated
lizmat afk for a few hours& 13:13
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:38
Geth rakudo/main: 15 commits pushed by (Nick Logan)++
review: github.com/rakudo/rakudo/compare/7...d41e01f80b
14:44
15:32 finanalyst joined
ugexe we also need to decide on the two PRs mentioned in github.com/Raku/problem-solving/issues/528 15:55
i'd also be wary of telling people they can still use the legacy frontend if we havent actually extensively tested that 16:12
lizmat isn't that what we're doing now with blin runs / make spectest with RAKUDO_RAKUAST=1 set ? 16:14
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...
lizmat makes mental note to always build core with RAKUDO_RAKUAST=1 now 16:16
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
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
lizmat not when you need to reinstall stuff? 16:24
hmmm... with a RakuAST built core, I get a fail on installing Crypt::Random with RakuAST: 16:25
RAKUDO_RAKUAST=1 zef install Crypt::Random
===> Searching for: Crypt::Random
===> Staging Crypt::Random:ver<0.4.1>
===SORRY!===
Method 'PERFORM-BEGIN' must be implemented by RakuAST::BeginTime because it is required by roles: RakuAST::BeginTime.
ugexe yea probably the pr i just merged 16:26
which goes back to my earlier comment about finalizing the public api
lizmat fwiw, I'd be ok with not having full RakuAST docs for a release with RakuAST as the default 16:27
I agree the docs should be there for the 6.e release
hmm... Array::Agnostic will not install with a RakuAST built core 16:28
Object does not exist in serialization context 16:29
(independent of whether RAKUDO_RAKUAST=1 is specified)
ugexe that moarvm serialization issue wasn't rakuast specific 16:30
github.com/rakudo/rakudo/issues/6507 16:31
lizmat aaah,,, duh 16:32
that's the one that needs the MoarVM fix, right?
ugexe yes 16:34
lizmat understood
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 ?
ugexe well we version things for the users 16:36
instead we would be exposing a bunch of new namespaces, potential behavior changes, etc in the existing version
maybe thats mostly unavoidable i guess though... has to happen sooner or later 16:37
lizmat yeah, and instead of one big bang, we would have 2 slightly smaller big bangs 16:38
afk for an hour or so&
ugexe oh the Crypt::Random crypt isnt a raku issue. its from the `if` module which calls a IMPL- method for some reason 16:58
github.com/raku-community-modules/if/pull/10 17:06
[Coke] github.com/coke/raku-blin-release-...ailures.md - through 7ded5ff7de 17:08
linkable6 (2026-09-18) github.com/rakudo/rakudo/commit/7ded5ff7de Only use new Rat.raku rendering in 6.e+
[Coke] some repeats, some new.
did not do a redo since the "can't find anything" failures are gone. 17:10
can retry if any look suspicious. 17:11
ugexe the notable ones are LWP::Simple, Terminal::UI, and FontConfig 17:28
Geth rakudo/main: 26d8ff70dc | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
RakuAST: report the composition error of a documented type (#6686)

Previously a class or grammar that carried a declarator doc and failed to compose died with a dispatch error from podify, and the composition error with its location was lost. The CATCH that records the compose exception was at the level of PRODUCE-META-OBJECT, so a failed compose returned from the method without the type and podify was given NQPMu. ... (16 more lines)
18:16
rakudo/main: 4 commits pushed by (Nick Logan)++
lizmat ugexe: thanks for the "if" fix, update on its way to the ecosystem now 18:54
Geth rakudo/main: 0f34b7f417 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: make node methods with a return type inlinable (#6697)

Previously a node method that declares a return type ran its body as a closure so the value could be checked. MoarVM never inlines a frame that takes a closure, and the conversion, the check and the error message together were too large to inline as well. A call to a flag accessor such as sunk cost about 90 ns from another node method and 130 ns from ... (9 more lines)
20:39
22:10 finanalyst left
Geth rakudo: ugexe++ created pull request #6699:
RakuAST: keep a loop body a frame once a loop has finished in its scope
22:39
22:48 Pixi` joined 22:51 Pixi left 22:53 Pixi` left 23:05 Pixi joined
Geth rakudo/main: 6e5474c240 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/var-lowering.rakumod
RakuAST: keep a loop body a frame once a loop has finished in its scope (#6699)

Previously every eligible loop body flattened into the frame around it. MoarVM specializes a frame that is still running only once, from inside its first hot loop, using what it had observed by then. A loop starting after that one ended ran the rest of the invocation with nothing observed about its body, so a second flattened loop in one frame ran about 2.5x ... (6 more lines)
23:21