[00:32] <Geth> ¦ rakudo: ugexe++ created pull request #6534: RakuAST: Make using a Perl 5 regex a compile time error

[00:32] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6534

[00:59] *** bisectable6 left
[00:59] *** bisectable6 joined
[01:27] <Geth> ¦ rakudo: ugexe++ created pull request #6535: RakuAST: keep the key type on keyed hashes with an explicit base

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

[01:31] <Geth> ¦ rakudo: ugexe++ created pull request #6536: RakuAST: silent-replace a class nested in a same-named unit class

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

[01:32] <Geth> ¦ rakudo/main: 0284b67fb9 | (Nick Logan)++ (committed using GitHub Web editor) | t/12-rakuast/xx-fixed-in-rakuast.rakutest

[01:32] <Geth> ¦ rakudo/main: Don't count handler calls to test an operator wrap (#6531)

[01:32] <Geth> ¦ rakudo/main: 

[01:32] <Geth> ¦ rakudo/main: Previously the wrap test recorded each handler call into an array and

[01:32] <Geth> ¦ rakudo/main: compared that array against a single expected entry. A wrap replaces the

[01:32] <Geth> ¦ rakudo/main: operator routine for every caller in the process however, so any core

[01:32] <Geth> ¦ rakudo/main: code that dispatched `postfix:<++>` between the wrap and the unwrap

[01:32] <Geth> ¦ rakudo/main: appended to the array as well. Whether a given site dispatches the

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

[01:32] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/0284b67fb9

[02:33] <Geth> ¦ rakudo: ugexe++ created pull request #6537: RakuAST: type attributes by their explicit container base

[02:33] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6537

[02:48] <Geth> ¦ rakudo/main: cecd4e9933 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[02:48] <Geth> ¦ rakudo/main: RakuAST: metaop purity follows the wrapped operator in sink analysis (#6532)

[02:48] <Geth> ¦ rakudo/main: 

[02:48] <Geth> ¦ rakudo/main: Previously a sunk metaop assignment like `@a Z= @b`, `@a X= 9` or

[02:48] <Geth> ¦ rakudo/main: `$x R= $y` warned "Useless use of Z= in sink context" and warned

[02:48] <Geth> ¦ rakudo/main: again for each bare variable operand, because the RakuAST::MetaInfix

[02:48] <Geth> ¦ rakudo/main: subclasses inherited the Infixish default purity of True along with

[02:48] <Geth> ¦ rakudo/main: the default operand sinking. The legacy frontend stays silent on all

[02:48] <Geth> ¦ rakudo/main: <…commit message has 12 more lines…>

[02:49] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/cecd4e9933

[02:49] <Geth> ¦ rakudo/main: 76eb6e759a | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[02:49] <Geth> ¦ rakudo/main: RakuAST: give a flattened '@' parameter the Positional bind failover (#6533)

[02:49] <Geth> ¦ rakudo/main: 

[02:49] <Geth> ¦ rakudo/main: Previously a Seq value reaching the inline sigil check of a flattened

[02:49] <Geth> ¦ rakudo/main: for or given parameter threw the nominal type error, since the check

[02:49] <Geth> ¦ rakudo/main: only tested the value against the nominal type. The real binder first

[02:49] <Geth> ¦ rakudo/main: caches a value that does PositionalBindFailover into a List when the

[02:49] <Geth> ¦ rakudo/main: nominal type is Positional, which is how a Seq binds to an '@'

[02:49] <Geth> ¦ rakudo/main: <…commit message has 5 more lines…>

[02:49] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/76eb6e759a

[02:50] <Geth> ¦ rakudo/main: 06102bc0f4 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[02:50] <Geth> ¦ rakudo/main: RakuAST: keep the key type on keyed hashes with an explicit base (#6535)

[02:50] <Geth> ¦ rakudo/main: 

[02:50] <Geth> ¦ rakudo/main: Previously a keyed hash declaration with an explicit container base

[02:50] <Geth> ¦ rakudo/main: type, such as `my %h{C} is Hash`, built a plain string-keyed Hash. The

[02:50] <Geth> ¦ rakudo/main: explicit base was never parameterized with the declared key type, so

[02:50] <Geth> ¦ rakudo/main: object keys stringified and the values stored under them became

[02:50] <Geth> ¦ rakudo/main: unreachable by object. The legacy frontend parameterizes the base with

[02:50] <Geth> ¦ rakudo/main: <…commit message has 7 more lines…>

[02:50] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/06102bc0f4

[02:51] <Geth> ¦ rakudo/main: 7d90aa99b0 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[02:51] <Geth> ¦ rakudo/main: RakuAST: silent-replace a class nested in a same-named unit class (#6536)

[02:51] <Geth> ¦ rakudo/main: 

[02:51] <Geth> ¦ rakudo/main: Previously the install collision check captured a silent-replace parent

[02:51] <Geth> ¦ rakudo/main: only when the setting resolved the leading name part, so a class nested

[02:51] <Geth> ¦ rakudo/main: inside a same-named unit class died with "Redeclaration of symbol

[02:51] <Geth> ¦ rakudo/main: 'Linux::Joystick'". The leading part of that name resolves to the stub

[02:51] <Geth> ¦ rakudo/main: the unit class itself created, which lives in the compilation unit's

[02:51] <Geth> ¦ rakudo/main: <…commit message has 7 more lines…>

[02:51] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/7d90aa99b0

[02:51] <Geth> ¦ rakudo/main: 1a08ca7620 | (Nick Logan)++ | 3 files

[02:51] <Geth> ¦ rakudo/main: Do not apply unspace to whitespace inside regexes

[02:51] <Geth> ¦ rakudo/main: 

[02:51] <Geth> ¦ rakudo/main: Previously `regex { \# }` failed to parse with "Regex not terminated",

[02:51] <Geth> ¦ rakudo/main: while the equivalent `/ \# /` and `rx{ \# }` parsed fine. An escaped

[02:51] <Geth> ¦ rakudo/main: hash preceded by whitespace, e.g. `/ a \# b /`, failed the same way in

[02:51] <Geth> ¦ rakudo/main: every regex form. Worse, when the rest of the line could be discarded

[02:51] <Geth> ¦ rakudo/main: without losing the terminator the regex silently compiled to something

[02:51] <Geth> ¦ rakudo/main: <…commit message has 22 more lines…>

[02:52] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/1a08ca7620

[02:52] <Geth> ¦ rakudo/main: db5c1ccf76 | (Elizabeth Mattijsen)++ (committed by Nick Logan) | src/Raku/Grammar.nqp

[02:52] <Geth> ¦ rakudo/main: Add some whitespace for readability

[02:52] <Geth> ¦ rakudo/main: 

[02:52] <Geth> ¦ rakudo/main: There's no need to go Perl (as in: no whitespace) in regexes

[02:52] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/db5c1ccf76

[02:52] <Geth> ¦ rakudo/main: dc1459a1c7 | (Elizabeth Mattijsen)++ (committed by Nick Logan) | src/Raku/Grammar.nqp

[02:52] <Geth> ¦ rakudo/main: Unfix my fix  in regex whitespace handling

[02:52] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/dc1459a1c7

[02:57] <Geth> ¦ rakudo/main: 80c0393c0b | (Nick Logan)++ (committed using GitHub Web editor) | 2 files

[02:57] <Geth> ¦ rakudo/main: Make MAIN recognize enum values that are not in scope (#6513)

[02:57] <Geth> ¦ rakudo/main: 

[02:57] <Geth> ¦ rakudo/main: Previously the command line argument parsing in RUN-MAIN resolved a

[02:57] <Geth> ¦ rakudo/main: potential enum value by looking the word up in the caller's lexical

[02:57] <Geth> ¦ rakudo/main: scope, GLOBAL::, and CORE::. When MAIN is imported from a module that

[02:57] <Geth> ¦ rakudo/main: declares the enum inside its own package none of those lookups can see

[02:57] <Geth> ¦ rakudo/main: the enum values, so dispatch would fail and the usage message would be

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

[02:57] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/80c0393c0b

[03:16] <japhb> Re: RSC discussion about modules requiring --/test in my local tree: This is now mostly not an issue!

[03:17] <japhb> I was able to remove --/test from install of every module in my list except App::RaCoCo:ver<2.0.1>:auth<zef:atroxaper>:api<2> --/test

[03:17] <japhb> (A couple of them required unpinning from older versions and updating to current though.)

[03:18] <japhb> I haven't been using RaCoCo directly, it's a dependency of Red:auth<zef:FCO>:ver<0.1.76>, an older version that I need for one of my personal modules.

[03:19] <japhb> It's possible I might be able to get rid of that problem by upgrading my personal modules to current Red.

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

[03:20] <Geth> ¦ rakudo/main: RakuAST: type attributes by their explicit container base (#6537)

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

[03:20] <Geth> ¦ rakudo/main: Previously an explicit container base type on a has scoped attribute

[03:20] <Geth> ¦ rakudo/main: (e.g. `has Int @.a is Array`) left the attribute's type as Mu. The

[03:20] <Geth> ¦ rakudo/main: bind constraint is a bare Mu whenever an explicit base type is in play

[03:20] <Geth> ¦ rakudo/main: and the attribute took its type from the bind constraint. On the legacy

[03:20] <Geth> ¦ rakudo/main: frontend such an attribute is typed with the parameterized base type.

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

[03:21] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/943d1ea0da

[03:21] <Geth> ¦ rakudo: ugexe++ created pull request #6538: RakuAST: do not import EXPORTHOW from a loaded unit's GLOBALish

[03:21] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6538

[10:48] <lizmat> bisectable6: old=2026.07 subset A of Int where *>0; my A() $a = -1

[10:48] <bisectable6> lizmat, On both starting points (old=2026.07 new=943d1ea) the exit code is 1 and the output is identical as well

[10:48] <bisectable6> lizmat, Output on both points: «Impossible coercion from 'Int' into 'A': method Int returned an instance of Int␤  in block <unit> at /tmp/5SVy1GYRJd line 1␤␤»

[10:48] <lizmat> bisectable6: old=2026.01 subset A of Int where *>0; my A() $a = -1

[10:48] <bisectable6> lizmat, On both starting points (old=2026.01 new=943d1ea) the exit code is 1 and the output is identical as well

[10:48] <bisectable6> lizmat, Output on both points: «Impossible coercion from 'Int' into 'A': method Int returned an instance of Int␤  in block <unit> at /tmp/_zoWpvn_Xz line 1␤␤»

[10:48] <lizmat> bisectable6: subset A of Int where *>0; my A() $a = -1

[10:48] <bisectable6> lizmat, Will bisect the whole range automagically because no endpoints were provided, hang tight

[10:49] <bisectable6> lizmat, Output on all releases: https://gist.github.com/140cd5dfc857a2cb42dd60797979d101

[10:49] <bisectable6> lizmat, Bisecting by output (old=2020.10 new=2020.11) because on both starting points the exit code is 1

[10:50] <bisectable6> lizmat, bisect log: https://gist.github.com/785421adb5030f3e7e91379e9a774e48

[10:50] <bisectable6> lizmat, (2020-11-15) https://github.com/rakudo/rakudo/commit/f2d73287f95ad6fa9eba8856ad15f3e8f9076d6e

[10:50] <bisectable6> lizmat, Bisecting by output (old=2020.06 new=2020.07) because on both starting points the exit code is 1

[10:50] <bisectable6> lizmat, bisect log: https://gist.github.com/56c9e1d4ac453d33ea5a456cfb20b054

[10:50] <bisectable6> lizmat, (2020-07-06) https://github.com/rakudo/rakudo/commit/58685eeb82f26def5ba1ecd1b40096f5b9538ab7

[10:50] <bisectable6> lizmat, ⚠ New output detected, please review the results manually

[10:50] <bisectable6> lizmat, Output on all releases and bisected commits: https://gist.github.com/903bec0aa97b705f136c8bed4d228391

[13:37] <lizmat> notable6: weekly

[13:37] <notable6> lizmat, 3 notes: https://gist.github.com/7c78b684c1d60a8e9d331a731765fe53

[14:27] <lizmat> notable6: weekly reset

[14:27] <notable6> lizmat, Moved existing notes to “weekly_2026-08-10T14:27:58Z”

[15:21] <[Coke]> hurm. have a rakubrew built on v2026.07-79-gf531cbe5f. - which is the last RAKUAST defaulted branch commit. I did a build-zef, but now when I do "zef look <anything>" I get a weird error

[15:22] <[Coke]> https://gist.github.com/coke/798aba7ab15c5b266f3dc04433aa342c

[15:22] <lizmat> And yet another Rakudo Weekly News hits the Net: https://rakudoweekly.blog/2026/08/10/2026-32-dan-floating-hex/

[15:32] <ugexe> what if you do `RAKUDO_RAKUAST=1 zef look <anything>`

[15:38] <ugexe> regardless its one of the moarvm issues i've referenced in the past. in this case its because CURS has a --> IO::Path (or IO::Path:D or some such) in one of its methods. no place else in the core that exact same type. zef loads and uses CURS at runtime, but zefs references to IO::Path or wahtever end up coming from CURS even though CURS may not have been loaded at all.

[15:38] <ugexe> https://github.com/ugexe/MoarVM/commit/06f9b045a4db87a8b76aeca108bdb8612755485d describes this a bit better

[15:38] <[Coke]> this commit defaults to AST, and you have to specify RAKUDO_LEGACY=1 to get the old behavior

[15:40] <[Coke]> ah. when blin is running, It's using it's own rakudo to run the harness, but using the specified rakudo to run the tests.

[15:40] <[Coke]> yup. RAKUDO_LEGACY=1 zef look Terminal-Widgets-Plugins-Anolis works.

[15:41] <ugexe> https://gist.github.com/ugexe/8850ae245f4d3803771e04fca69e3b67 has a repro of the issue without zef and that doesnt involve cross a core built with one frontend with a runtime using a different frontend

[15:41] <[Coke]> ok. legacy for getting the module, ast for testing it. will see if I can find the OOM problem

[15:55] <[Coke]> (oh, right, I should use blin itself instead of trying manually duplicate this) - have a list of 30ish modules to try, will set it to 1 core instead of 32, and see if I can narrow it down

[16:13] <ugexe> mind posting the list? maybe something will stick out to me

[16:31] <[Coke]> ugexe: https://gist.github.com/coke/823041646db591e4bdb4eb976cc95cc7 - just the last X uniq records in the blin output 

[16:31] <[Coke]> worst case, I can run the whole list through one core.

[16:32] <[Coke]> s/list/ecosystem/

[16:36] <lizmat> [Coke]: Ecosystem::Archive is obsolete, should be skipped

[16:36] <lizmat> it's called Ecosystem now

[16:39] <ugexe> hmm yeah nothing in that list immediately jumps out to me

[16:39] <lizmat> looks like REPL hangs under RakuAST

[16:40] <lizmat> yup, even under legacy

[16:41] <lizmat> SBOM::Raku fails with Serialization Error: missing static code ref for closure '' (src/Raku/Grammar.nqp:2023) for me

[16:42] <lizmat> SBOM::Raku fails with Serialization Error: missing static code ref for closure '' (src/Raku/Grammar.nqp:2023) for me  

[16:42] <lizmat> even in legacy

[16:42] <lizmat> meh  not reproducible

[16:47] <lizmat> I'm putting REPL on my check now list, after dinner&

[17:01] <ugexe> the legacy bit kind of feels like a stale precomp

[18:39] <lizmat> yeah, probably  :-(

[18:42] <[Coke]> huh. blin ast run for that list got to "saving the failure output"

[18:42] <[Coke]> (Ecosystem::Archive) - adding to my skip list

[18:44] <Geth> ¦ Blin/coke/cleanup: e0ac781cd8 | (Will Coleda)++ | resources/skips.json

[18:44] <Geth> ¦ Blin/coke/cleanup: Note obsolete module

[18:44] <Geth> ¦ Blin/coke/cleanup: review: https://github.com/Raku/Blin/commit/e0ac781cd8

[18:44] <[Coke]> ^^

[19:11] <lizmat> Ok, so the failure of REPL is:

[19:12] <lizmat> in the REPL repo:

[19:12] <lizmat> raku -I. bin/repl

[19:12] <lizmat> infiniloops on:

[19:12] <lizmat> ctxlexpad needs an MVMContext

[19:12] <lizmat>   in any lang-version at /Users/liz/Github/rakudo/install/share/perl6/lib/Perl6/Grammar.moarvm line 1

[19:12] <lizmat>   in any parse at /Users/liz/Github/rakudo/install/share/nqp/lib/QRegex.moarvm line 1

[19:12] <lizmat>   in method sink at /Users/liz/Github/RAKU/REPL/lib/REPL.rakumod (REPL) line 576

[19:12] <lizmat> that stacktrace feels bogus fwiw

[19:55] <lizmat> in any case, the REPL module is probably what causes blin to hang: it eats about 2MB/sec on my machine

[20:04] <[Coke]> in LEGACY or just AST?

[20:07] <lizmat> both

[20:08] <lizmat> and apparently already in the 2026.07 release

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

[20:13] <Geth> ¦ Blin/coke/cleanup: 305145ed2e | (Will Coleda)++ | resources/skips.json

[20:13] <Geth> ¦ Blin/coke/cleanup: skip memory leak

[20:13] <Geth> ¦ Blin/coke/cleanup: review: https://github.com/Raku/Blin/commit/305145ed2e

[20:13] <[Coke]> lizmat: is it just on test, or build?

[20:14] <lizmat> just on test...  I usually install all of the modules in my workflow with --/test   so that's why I didn't notice before

[20:14] <lizmat> but when installed, "repl" does the same thing  (which is basically what the test does)

[20:17] <lizmat> so I did a release on 24 June, which is shortly after the 2026.06 release, or just before?

[20:22] <lizmat> hmmm... pretty sure it worked on 2026.01 but now it fails...  giving up for now

[20:26] <ugexe> fwiw the SBOM::Raku issue is probably a missing ensure-sc somewhere

[20:35] <Geth> ¦ Blin/coke/cleanup: 4b03d60d36 | (Will Coleda)++ | resources/skips.json

[20:35] <Geth> ¦ Blin/coke/cleanup: skip memory leak

[20:35] <Geth> ¦ Blin/coke/cleanup: review: https://github.com/Raku/Blin/commit/4b03d60d36

[20:52] <ugexe> lizmat: https://codeberg.org/lizmat/CodeUnit/src/commit/6cd45d3866f240d4b910ce533a2f09e673b1fb15/lib/CodeUnit.rakumod#L44

[20:52] <ugexe> that lines either needs to nqp::decont($context), or use $!context. I'm not sure which one 

[20:55] <ugexe> so to be clear this issue presumably started with https://codeberg.org/lizmat/CodeUnit/commit/1ef8d53

[23:36] <lizmat> ugexe: correct, new releases of CodeUnit and REPL on their way to the ecosystem

[23:36] <lizmat> sleep&

