| 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& | |||