Geth rakudo: ugexe++ created pull request #6534:
RakuAST: Make using a Perl 5 regex a compile time error
00:32
00:59 bisectable6 left, bisectable6 joined
Geth rakudo: ugexe++ created pull request #6535:
RakuAST: keep the key type on keyed hashes with an explicit base
01:27
rakudo: ugexe++ created pull request #6536:
RakuAST: silent-replace a class nested in a same-named unit class
01:31
rakudo/main: 0284b67fb9 | (Nick Logan)++ (committed using GitHub Web editor) | t/12-rakuast/xx-fixed-in-rakuast.rakutest
Don't count handler calls to test an operator wrap (#6531)

Previously the wrap test recorded each handler call into an array and compared that array against a single expected entry. A wrap replaces the operator routine for every caller in the process however, so any core code that dispatched `postfix:<++>` between the wrap and the unwrap appended to the array as well. Whether a given site dispatches the ... (9 more lines)
01:32
rakudo: ugexe++ created pull request #6537:
RakuAST: type attributes by their explicit container base
02:33
rakudo/main: cecd4e9933 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: metaop purity follows the wrapped operator in sink analysis (#6532)

Previously a sunk metaop assignment like `@a Z= @b`, `@a X= 9` or
  `$x R= $y` warned "Useless use of Z= in sink context" and warned
again for each bare variable operand, because the RakuAST::MetaInfix subclasses inherited the Infixish default purity of True along with the default operand sinking. The legacy frontend stays silent on all ... (12 more lines)
02:48
rakudo/main: 76eb6e759a | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: give a flattened '@' parameter the Positional bind failover (#6533)

Previously a Seq value reaching the inline sigil check of a flattened for or given parameter threw the nominal type error, since the check only tested the value against the nominal type. The real binder first caches a value that does PositionalBindFailover into a List when the nominal type is Positional, which is how a Seq binds to an '@' ... (5 more lines)
rakudo/main: 06102bc0f4 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: keep the key type on keyed hashes with an explicit base (#6535)

Previously a keyed hash declaration with an explicit container base type, such as `my %h{C} is Hash`, built a plain string-keyed Hash. The explicit base was never parameterized with the declared key type, so object keys stringified and the values stored under them became unreachable by object. The legacy frontend parameterizes the base with ... (7 more lines)
02:50
rakudo/main: 7d90aa99b0 | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: silent-replace a class nested in a same-named unit class (#6536)

Previously the install collision check captured a silent-replace parent only when the setting resolved the leading name part, so a class nested inside a same-named unit class died with "Redeclaration of symbol
  'Linux::Joystick'". The leading part of that name resolves to the stub
the unit class itself created, which lives in the compilation unit's ... (7 more lines)
02:51
rakudo/main: 1a08ca7620 | (Nick Logan)++ | 3 files
Do not apply unspace to whitespace inside regexes

Previously `regex { \# }` failed to parse with "Regex not terminated", while the equivalent `/ \# /` and `rx{ \# }` parsed fine. An escaped hash preceded by whitespace, e.g. `/ a \# b /`, failed the same way in every regex form. Worse, when the rest of the line could be discarded without losing the terminator the regex silently compiled to something ... (22 more lines)
rakudo/main: db5c1ccf76 | (Elizabeth Mattijsen)++ (committed by Nick Logan) | src/Raku/Grammar.nqp
Add some whitespace for readability

There's no need to go Perl (as in: no whitespace) in regexes
rakudo/main: dc1459a1c7 | (Elizabeth Mattijsen)++ (committed by Nick Logan) | src/Raku/Grammar.nqp
Unfix my fix in regex whitespace handling
rakudo/main: 80c0393c0b | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
Make MAIN recognize enum values that are not in scope (#6513)

Previously the command line argument parsing in RUN-MAIN resolved a potential enum value by looking the word up in the caller's lexical scope, GLOBAL::, and CORE::. When MAIN is imported from a module that declares the enum inside its own package none of those lookups can see the enum values, so dispatch would fail and the usage message would be ... (9 more lines)
02:57
japhb Re: RSC discussion about modules requiring --/test in my local tree: This is now mostly not an issue! 03:16
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
(A couple of them required unpinning from older versions and updating to current though.)
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:18
It's possible I might be able to get rid of that problem by upgrading my personal modules to current Red. 03:19
Geth rakudo/main: 943d1ea0da | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: type attributes by their explicit container base (#6537)

Previously an explicit container base type on a has scoped attribute
  (e.g. `has Int @.a is Array`) left the attribute's type as Mu. The
bind constraint is a bare Mu whenever an explicit base type is in play and the attribute took its type from the bind constraint. On the legacy frontend such an attribute is typed with the parameterized base type. ... (10 more lines)
03:20
rakudo: ugexe++ created pull request #6538:
RakuAST: do not import EXPORTHOW from a loaded unit's GLOBALish
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
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␤␤»
lizmat bisectable6: old=2026.01 subset A of Int where *>0; my A() $a = -1
bisectable6 lizmat, On both starting points (old=2026.01 new=943d1ea) the exit code is 1 and the output is identical as well
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␤␤»
lizmat bisectable6: subset A of Int where *>0; my A() $a = -1
bisectable6 lizmat, Will bisect the whole range automagically because no endpoints were provided, hang tight
lizmat, Output on all releases: gist.github.com/140cd5dfc857a2cb42...797979d101 10:49
lizmat, Bisecting by output (old=2020.10 new=2020.11) because on both starting points the exit code is 1
lizmat, bisect log: gist.github.com/785421adb5030f3e7e...9e9a774e48 10:50
lizmat, (2020-11-15) github.com/rakudo/rakudo/commit/f2...e8f9076d6e
lizmat, Bisecting by output (old=2020.06 new=2020.07) because on both starting points the exit code is 1
lizmat, bisect log: gist.github.com/56c9e1d4ac453d33ea...6cfb20b054
lizmat, (2020-07-06) github.com/rakudo/rakudo/commit/58...f5b9538ab7
lizmat, ⚠ New output detected, please review the results manually
lizmat, Output on all releases and bisected commits: gist.github.com/903bec0aa97b705f13...ed4d228391
lizmat notable6: weekly 13:37
notable6 lizmat, 3 notes: gist.github.com/7c78b684c1d60a8e9d...731765fe53
lizmat notable6: weekly reset 14:27
notable6 lizmat, Moved existing notes to ā€œweekly_2026-08-10T14:27:58Zā€
[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:21
gist.github.com/coke/798aba7ab15c5...4433aa342c 15:22
lizmat And yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2026/08/10/2026-...ating-hex/
ugexe what if you do `RAKUDO_RAKUAST=1 zef look <anything>` 15:32
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
github.com/ugexe/MoarVM/commit/06f...612755485d describes this a bit better
[Coke] this commit defaults to AST, and you have to specify RAKUDO_LEGACY=1 to get the old behavior
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
yup. RAKUDO_LEGACY=1 zef look Terminal-Widgets-Plugins-Anolis works.
ugexe gist.github.com/ugexe/8850ae245f4d...fca69e3b67 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
(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 15:55
ugexe mind posting the list? maybe something will stick out to me 16:13
[Coke] ugexe: gist.github.com/coke/823041646db59...976cc95cc7 - just the last X uniq records in the blin output 16:31
worst case, I can run the whole list through one core.
s/list/ecosystem/ 16:32
lizmat [Coke]: Ecosystem::Archive is obsolete, should be skipped 16:36
it's called Ecosystem now
ugexe hmm yeah nothing in that list immediately jumps out to me 16:39
lizmat looks like REPL hangs under RakuAST
yup, even under legacy 16:40
SBOM::Raku fails with Serialization Error: missing static code ref for closure '' (src/Raku/Grammar.nqp:2023) for me 16:41
SBOM::Raku fails with Serialization Error: missing static code ref for closure '' (src/Raku/Grammar.nqp:2023) for me 16:42
even in legacy
meh not reproducible
I'm putting REPL on my check now list, after dinner& 16:47
ugexe the legacy bit kind of feels like a stale precomp 17:01
lizmat yeah, probably :-( 18:39
[Coke] huh. blin ast run for that list got to "saving the failure output" 18:42
(Ecosystem::Archive) - adding to my skip list
Geth Blin/coke/cleanup: e0ac781cd8 | (Will Coleda)++ | resources/skips.json
Note obsolete module
18:44
[Coke] ^^
lizmat Ok, so the failure of REPL is: 19:11
in the REPL repo: 19:12
raku -I. bin/repl
infiniloops on:
ctxlexpad needs an MVMContext
in any lang-version at /Users/liz/Github/rakudo/install/share/perl6/lib/Perl6/Grammar.moarvm line 1
in any parse at /Users/liz/Github/rakudo/install/share/nqp/lib/QRegex.moarvm line 1
in method sink at /Users/liz/Github/RAKU/REPL/lib/REPL.rakumod (REPL) line 576
that stacktrace feels bogus fwiw
in any case, the REPL module is probably what causes blin to hang: it eats about 2MB/sec on my machine 19:55
[Coke] in LEGACY or just AST? 20:04
lizmat both 20:07
and apparently already in the 2026.07 release 20:08
afk for a few hours&
Geth Blin/coke/cleanup: 305145ed2e | (Will Coleda)++ | resources/skips.json
skip memory leak
20:13
[Coke] lizmat: is it just on test, or build?
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
but when installed, "repl" does the same thing (which is basically what the test does)
so I did a release on 24 June, which is shortly after the 2026.06 release, or just before? 20:17
hmmm... pretty sure it worked on 2026.01 but now it fails... giving up for now 20:22
ugexe fwiw the SBOM::Raku issue is probably a missing ensure-sc somewhere 20:26
Geth Blin/coke/cleanup: 4b03d60d36 | (Will Coleda)++ | resources/skips.json
skip memory leak
20:35
ugexe lizmat: codeberg.org/lizmat/CodeUnit/src/c...akumod#L44 20:52
that lines either needs to nqp::decont($context), or use $!context. I'm not sure which one
so to be clear this issue presumably started with codeberg.org/lizmat/CodeUnit/commit/1ef8d53 20:55
lizmat ugexe: correct, new releases of CodeUnit and REPL on their way to the ecosystem 23:36
sleep&