[Coke] there is an argument that none of the advent code snippets should be in roast. I think that's my fault from pre-xmas 03:03
04:46 hurufu joined
[Tux] Rakudo v2026.05-3-g216c855e3 (v6.d) on MoarVM 2026.05-3-g236fcdf7c
csv-ip5xs0.262 - 0.271
csv-ip5xs-201.048 - 1.366
csv-parser1.071 - 1.098
csv-test-xs-200.112 - 0.113
test1.775 - 1.785
test-t0.453 - 0.458
test-t --race0.293 - 0.300
test-t-205.875 - 5.922
test-t-20 --race1.383 - 1.416
08:54
csv-test-xs 0.014 - 0.014
tux.nl/Talks/CSV6/speed4-20.html / tux.nl/Talks/CSV6/speed4.html tux.nl/Talks/CSV6/speed.log
10:08 ShimmerFairy left, ShimmerFairy joined 13:19 hurufu left 14:13 finanalyst joined 15:29 finanalyst left
Geth rakudo/main: 883770dd7f | (Elizabeth Mattijsen)++ (committed using GitHub Web editor) | src/core.e/Formatter.rakumod
Properly support %g in 6.e sprintf

The previous implementation had several errors *and* erroneously assumed that the precision indication was for number of digits after the period. The "standard" requires that the precision is to be interpreted as "number of significant digits", a subtle difference!
18:50
roast: f5003f6cfc | (Elizabeth Mattijsen)++ | 2 files
Update 6.e tests of sprintf %g formatting
18:52
20:08 apogee_ntv left 20:18 apogee_ntv joined 22:06 ShimmerFairy left 22:07 ShimmerFairy joined
Geth rakudo/main: 300deefb40 | (Nick Logan)++ | 4 files
RakuAST: fix compound metaop assignment Z+=, X+=, <<+=>>

These silently no-opped because codegen produced a lazy Seq that never got iterated in sink context. Emit the legacy element-wise METAOP_ZIP(METAOP_ASSIGN(+)) shape so per-element mutation fires during the call and native typed arrays survive.
22:21
rakudo/main: 7309b8077e | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
Merge pull request #6188 from ugexe/ugexe/rakuast-compound-metaop-assign

RakuAST: fix compound metaop assignment Z+=, X+=, <<+=>>
rakudo/main: 0fb07e5ced | (Nick Logan)++ | 2 files
RakuAST: fix BEGIN/CHECK-time compilation of inner thunks

Two coupled defects in RakuAST::Code::IMPL-COMPILE-DYNAMICALLY caused BEGIN- and CHECK-time compiled wrappers to fail across both frontends.
1. Hardcoded `:from<qast>` broke EVAL of any BEGIN-wrapped AST under the
   legacy Perl6 frontend, which registers an `optimize` stage instead of
... (40 more lines)
22:22
rakudo/main: e6683add7b | (Nick Logan)++ | 2 files
RakuAST: drop obsolete BEGIN-thunk VMNull workarounds in tests

The previous commit fixes the underlying VMNull crash for setting-symbol lookups inside BEGIN-compiled wrappers, so the `todo` marker in t/12-rakuast/var.rakutest and the CATCH/skip block in t/12-rakuast/statement-phaser.rakutest no longer mask any failure. Both subtests now pass cleanly in both legacy and RakuAST modes.
rakudo/main: e0a7c54222 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
Merge pull request #6189 from ugexe/ugexe/rakuast-begin-enum

RakuAST: fix BEGIN/CHECK enum declarations
rakudo/main: 09e68b907e | (Nick Logan)++ | src/core.c/RakuAST/Literalize.rakumod
RakuAST: propagate CannotLiteralize sentinel through every literalize multi

Warnings started showing up after c1d292bbc ("RakuAST: literalizing subroutine calls will never work"), which added a Call.literalize multi that always calls alas. The proto's CATCH then converts that to the CannotLiteralize sentinel return (introduced earlier in 5e353bcdf). Bootstrap now routes more nodes through that sentinel path because ... (21 more lines)
rakudo/main: dfe8a85d0c | (Nick Logan)++ (committed using GitHub Web editor) | src/core.c/RakuAST/Literalize.rakumod
Merge pull request #6191 from ugexe/ugexe/rakuast-literalize-cannot-sentinel

RakuAST: propagate CannotLiteralize sentinel through every literalize multi
rakudo/main: 79251365e2 | (Nick Logan)++ | src/Raku/ast/regex.rakumod
RakuAST: skip the lexical &name lookup for non-capturing <.name>

Mirror the legacy frontend, which gates the same lookup on whether the preceding source character is a `.` (see assertion:sym<name> in Perl6/Actions.nqp). RakuAST has the same information available structurally via $!capturing, so use that instead of a source-character lookbehind. ... (8 more lines)
rakudo/main: 668786987a | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/regex.rakumod
Merge pull request #6192 from ugexe/ugexe/rakuast-fix-dot-lexical-token-regex

RakuAST: skip the lexical &name lookup for non-capturing <.name>
rakudo/main: b7d25b8853 | (Nick Logan)++ | 2 files
RakuAST: stop using non-method packages as implicit invocant types

The implicit invocant type for a Methodish declaration in a package context came from `$!method-package.stubbed-meta-object`, regardless of whether that package was actually method-capable. When the enclosing package is a plain `package` or `module` (not class/role/grammar), the resulting type fails `X::Parameter::BadType` ("Package 'P' is ... (27 more lines)
rakudo/main: 7deef18973 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Merge pull request #6193 from ugexe/ugexe/rakuast-fix-qualified-regex-assertion

RakuAST: stop using non-method packages as implicit invocant types
rakudo/main: 07642cdce7 | (Nick Logan)++ | 2 files
RakuAST: apply :D/:U smiley outside the parameterization wrapper

For `Foo:D[Int]` the actions built `Parameterized(Definedness(Foo), [Int])`, which lost the Definedness wrapper at PRODUCE-META-OBJECT time because
  `Type::Parameterized` uses `IMPL-BASE-TYPE` to fetch the type to
parameterize, and that recursively unwraps Derived wrappers down to the underlying `Type::Simple`. The result was that `my Positional:D[Int] $x` ... (24 more lines)
rakudo/main: f4b2566c6c | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Merge pull request #6194 from ugexe/ugexe/rakuast-fix-definite-smiley-on-parameterized

RakuAST: apply :D/:U smiley outside the parameterization wrapper
rakudo/main: 907a23acfa | (Nick Logan)++ | src/Raku/ast/code.rakumod
RakuAST: detect duplicate `our multi method` declarations

  `class C { our multi method m(Int) {}; our multi method m(Str) {} }`
silently compiled in RakuAST, leaving the second method unreachable. Two existing duplicate-detection paths skip the case:
   - Routine.PERFORM-BEGIN's package-stash install is gated on
... (36 more lines)
rakudo/main: 61f6f85598 | (Nick Logan)++ (committed using GitHub Web editor) | src/Raku/ast/code.rakumod
Merge pull request #6195 from ugexe/ugexe/rakuast-fix-our-multi-method-redeclaration

RakuAST: detect duplicate `our multi method` declarations
rakudo/main: c08667c4f0 | (Nick Logan)++ | 3 files
Fix infinite recursion in Hash::Typed/Object INSTANTIATE-GENERIC

Composing a parametric role whose body declared a typed-hash attribute with a generic type-capture as the value type hung the compiler:
   role A[::T = Int] { has T %h }; class B does A {} # spins forever
   role R[::T] { has %h{Int} of T }; class C does R[Str] {} # ditto
... (18 more lines)
rakudo/main: d845850a94 | (Nick Logan)++ | 2 files
Break self-resolution loop in GenericHOW.instantiate_generic

A parametric role whose type-capture name collides with a core role's internal capture name (e.g. user `role R[::TValue]` versus
  `Array::Typed[::TValue]` or `Hash::Typed[..., ::TValue, ...]`) spun
the compiler forever:
... (28 more lines)
rakudo/main: 427f1f1db9 | (Nick Logan)++ (committed using GitHub Web editor) | 4 files
Merge pull request #6198 from ugexe/ugexe/fix-role-typed-hash-attr-hang

Fix two compiler hangs composing parametric roles with typed attrs
rakudo/main: 3abd2ae3fc | (Nick Logan)++ | 2 files
RakuAST: emit proper SORRY exceptions for invalid feed-operator stages

  `RakuAST::Feed.IMPL-LIST-INFIX-QAST` validated each non-source stage
against the legal QAST shapes and fell through to an error path that called `$_.PRECURSOR.panic($error)`. That line was lifted from
  `make_feed` in `src/Perl6/Actions.nqp` where `$_` is a Match (which
has `PRECURSOR`); in RakuAST `$_` is a QAST node, which doesn't, so ... (14 more lines)
rakudo/main: da62ae237d | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Merge pull request #6201 from ugexe/ugexe/rakuast-fix-feed-validation

RakuAST: emit proper SORRY exceptions for invalid feed-operator stages
rakudo/main: 4 commits pushed by (Nick Logan)++
ugexe alright we're at the point where we need to find rakuast issues from the ecosystem itself. i'm not sure we can do Blin yet... probably need to manually install more upstream dependencies to work out any issues with those first 22:31
japhb ugexe++ # Wow 22:36
ugexe: What kind of ecosystem testing would be useful? I own a number of modules, so I can test whether they `zef install` and work ... 22:38
What do I need to do so that zef uses RakuAST codepaths when installing? 22:39
ugexe i think `RAKUDO_RAKUAST=1 zef install Foo` should mostly be sufficient. I'm not sure when it would matter if rakudo itself was also built with RAKUDO_RAKUAST=1 22:40
JSON::Fast does have an issue
but basically if i know of test cases that fail (preferably with as much test output as possible) i can try to find the root cause for them and potentially fix them 22:42