Geth rakudo: MasterDuke17++ created pull request #5839:
RakuAST: add some more suggestions to exception messages
02:10
Geth rakudo/main: a3709f3f94 | (Elizabeth Mattijsen)++ | src/Raku/Actions.nqp
RakuAST: make "Foo sub { }" set up returns in signature

Before, this would only happen if there was an actual () in the sub's signature
08:52
Geth rakudo/main: 299206eb44 | (Daniel Green)++ (committed by Stefan Seifert) | 4 files
RakuAST: add some more suggestions to exception messages
09:10
rakudo/main: b857f36b38 | (Stefan Seifert)++ | src/Raku/ast/scoping.rakumod
RakuAST: add missing RakuAST::UndeclaredSymbolDescription::Type

forgot to save the file before committing ENOCOFFEE
09:17
rakudo/main: 261fbad865 | (Stefan Seifert)++ | src/Raku/ast/scoping.rakumod
RakuAST: treat subsets like every other type of package

Turns out, there is no reason for special casing subset declarations in any way. Removing the special case lets us report redeclarations of other types as subsets.
09:32
rakudo/main: 49c5dc47a1 | (Stefan Seifert)++ | src/Raku/ast/scoping.rakumod
RakuAST: report redeclarations of packages with multi-part names

Fixes: class A::B { }; class A::B { } # to fail
10:21
rakudo/main: 27f47363c3 | (Stefan Seifert)++ | src/Raku/ast/term.rakumod
RakuAST: name the pseudo-package we're trying to bind to in error message
[Tux] Rakudo v2025.03-149-g27f47363c (v6.d) on MoarVM 2025.03-9-g5f399c640
csv-ip5xs0.263 - 0.265
csv-ip5xs-201.081 - 1.121
csv-parser1.102 - 1.109
csv-test-xs-200.136 - 0.139
test1.871 - 1.976
test-t0.410 - 0.421
test-t --race0.271 - 0.278
test-t-205.013 - 5.128
test-t-20 --race1.233 - 1.237
10:54
tux.nl/Talks/CSV6/speed4-20.html / tux.nl/Talks/CSV6/speed4.html tux.nl/Talks/CSV6/speed.log
Geth rakudo/main: 8246458c09 | (Stefan Seifert)++ | src/Raku/ast/expressions.rakumod
RakuAST: don't compile time check when trying to assign to literal

If someone tries to assign to a literal, we'll get a more descriptive error message later.
11:13
rakudo/main: 6a97c889ff | (Stefan Seifert)++ | src/Raku/ast/variable-declaration.rakumod
RakuAST: fix error in can-be-bound-to when type is set by of trait
rakudo/main: 8e998ae45d | (Stefan Seifert)++ | src/Raku/ast/variable-declaration.rakumod
RakuAST: prohibit declaring variables with ? twigil

  ? twigil is for compiler variables, thus they are reserved
11:27
rakudo/main: 09a085a0a1 | (Stefan Seifert)++ | src/Raku/ast/variable-declaration.rakumod
RakuAST: prohibit declaring variable with indirect names
Geth rakudo/main: 81c863a726 | (Elizabeth Mattijsen)++ | src/core.c/Mu.rakumod
Make error message handle nameless declarator targets better

Specifically the case of unnamed subs
12:08
roast: 008ba76f1b | (Stefan Seifert)++ | S12-class/augment-supersede.t
Fix accidental re-declaration of our-scoped constant in same package

Classes are our-scoped by default. While an EVAL is a different lexical scope, it doesn't change the current package. So running two EVALs, each declaring the same our-scoped class should yield a redeclaration error. However, rakudo did not check for this condition and silently replaced the old stash entry with the new one.
Similar to commit 172634a3cdce36f07123c58afb3f2375e3476180
12:09
rakudo/main: 16c4fc4f3f | (Stefan Seifert)++ | 2 files
RakuAST: report error when trying to augment role
12:10
rakudo/main: bf6ba28e13 | (Stefan Seifert)++ | src/Raku/ast/signature.rakumod
RakuAST: fix copy pasta in error message
12:36
rakudo/main: 4271ccc0fb | (Stefan Seifert)++ | src/Raku/ast/variable-declaration.rakumod
RakuAST: prohibit placeholder vars with upper case single letter names

Avoids confusion with Perl 5 magic variables.
lizmat nine: looks like the failures in t/spec/S26-documentation/why-* are caused by the set-WHY being called in ::VarDeclaration::Simple.new only 13:07
and that's not set yet then
figuring out where to insert the appropriate set-WHY now 13:08
which should hopefully give us those 3 files
nine That'd be awesome :) 13:10
lizmat but first afk for a few hours& 13:12
finanalyst [Coke] pls have a look at finanalyst.org/REPL.html 13:23
nine Variables are stubbed before we parse the initializer. So maybe a set-WHY in method variable-declarator would do the trick already? 13:40
[Coke] Util++ for his work on the mailing list, man. 13:56
Geth rakudo/main: 156aeef3ef | (Stefan Seifert)++ | src/Raku/ast/variable-access.rakumod
RakuAST: prohibit virtual calls in attribute initializers
14:01
rakudo/main: ad9be7bc52 | (Stefan Seifert)++ | src/Raku/ast/variable-declaration.rakumod
RakuAST: promote declaring attributes in a module to a sorry

There is an exception for when we're in an EVAL at runtime (or the class is imported). Don't know why this is needed, but there's a spectest requiring this.
14:22
Xliff ] 14:35
Geth rakudo/main: fbf25da77e | (Stefan Seifert)++ | 2 files
RakuAST: complain about invalid sub scope
14:43
rakudo/main: e50a90a306 | (Stefan Seifert)++ | src/Raku/ast/package.rakumod
RakuAST: complain about invalid scope for package
nine 10 sounds a lot more manageable than 54 :)
[Coke] releasable6: next 14:53
releasable6 [Coke], Next release in ≈16 days and ≈4 hours. 1 blocker. 159 out of 159 commits logged
[Coke], Details: gist.github.com/8bb2a76ff751cdc22a...686f2a79b8
[Coke] .. how can it be only 16 days? 14:54
Geth rakudo/main: 4 commits pushed by (Stefan Seifert)++ 16:19
rakudo/main: af7ed31eb4 | (Stefan Seifert)++ | src/Raku/ast/resolver.rakumod
RakuAST: collect multiple stubbed errors into a single exception
16:37
Geth rakudo/main: 55c894c9fc | (Stefan Seifert)++ | src/Raku/ast/variable-access.rakumod
RakuAST: lose the & when reporting undeclared &routine
16:57
[Coke] github.com/rakudo/rakudo/issues/5836 - lizmat, were you able to reproduce the Image:: failure there either? 17:09
that one looks weirder, couldn't extra a META6.json file. 17:10
lizmat Image::PNG::Portable installs without issue for me 17:11
Geth rakudo/main: 4992824e67 | (Stefan Seifert)++ | src/Raku/ast/resolver.rakumod
RakuAST: fix suggestions for type names missing their initial character
17:12
[Coke] lizmat: OK, thanks.
releasable6: next 17:13
releasable6 [Coke], Next release in ≈16 days and ≈1 hour. There are no known blockers. 167 out of 167 commits logged
[Coke] Will do another blin run this week, but cannot promise it will successfully include Red. 17:14
(weekend)
Geth rakudo/main: d29d7c488b | (Stefan Seifert)++ | 3 files
RakuAST: also suggest attributes on unknown variable name
17:34
nine And that boys and girls was t/spec/S32-exceptions/misc2.t
1334
[Coke] \o/ 17:45
seeing test failures just with 'make test' after build on HEAD 17:51
still at 145/166 there for ast 17:54
at 161 for default
ugexe [Coke]: the Image::PNG::Portable failed because the tar command exceeded the timeout 17:56
actually n/m 17:57
time out would mention a time out. but for whatever reason the tar command failed, potentially in a flakey way 17:58
Xliff <Xliff> What is the RakuAST node for a `need` statement? 18:44
n/m: RakuAST::Statement::Need 18:47
[Coke] the fact that the extract worked once but not twice seemed flaky, yes 19:02
lizmat m: say Q|need "foo"|.AST.statements.head
camelia ===SORRY!=== Error while compiling EVAL_0
Undeclared routine:
need used at line 1 (in Raku please use "v" prefix and "use" for pragma (e.g., "use v6;", "use v6.c;") instead)
lizmat heh
m: say Q|need foo|.AST.statements.head 19:05
camelia ===SORRY!===
Could not find foo in:
/home/camelia/.raku
/home/camelia/rakudo-m-inst-2/share/perl6/site
/home/camelia/rakudo-m-inst-2/share/perl6/vendor
/home/camelia/rakudo-m-inst-2/share/perl6/core
CompUnit::Repository
lizmat m: say Q|need Test|.AST.statements.head
camelia RakuAST::Statement::Need.new(
module-names => (
RakuAST::Name.from-identifier("Test"),
)
)
Geth rakudo/main: a995e80502 | (Stefan Seifert)++ | src/Raku/ast/variable-declaration.rakumod
RakuAST: compile time check types of attribute default values
20:40
nine 1335
lizmat nine: nice, was look at that. But why only for attributes 20:54
m: my Str $a = 24 20:55
camelia Type check failed in assignment to $a; expected Str but got Int (24)
in block <unit> at <tmp> line 1
lizmat shouldn't that be a compile time error as well ?