Geth rakudo: ugexe++ created pull request #6618:
RakuAST: only decide a compile-time dispatch for a Routine
00:19
rakudo/main: 75b29a1de7 | (Nick Logan)++ | 2 files
Assert lexical lowering by the sentinel value in the QAST shape tests

Previously the lex2local shape tests told a lowered declaration from a kept one by its decl alone: static meant lowered away, contvar meant kept. A static declaration also carries a real container when a frame declares its containers without cloning, so the decl alone cannot say which of the two it is. This makes the helpers look at the declared value, and a lowered declaration is the one whose value is the Rakudo::Internals::LoweredAwayLexical sentinel.
00:25
rakudo/main: 00ccf31f60 | (Nick Logan)++ | 7 files
Share unit lexicals between BEGIN code and the mainline

Previously a closure created by code run at BEGIN time, such as the phaser a variable trait adds through Variable.willdo, resolved a unit lexical to the serialized master container, while the unit frame cloned that master on first read. What the mainline saw depended on who touched the container first: a read in the mainline before the traited routine ... (20 more lines)
rakudo/main: 99be3abe19 | (Nick Logan)++ (committed using GitHub Web editor) | 9 files
Merge pull request #6616 from ugexe/ugexe/unit-lexicals-static

Share unit lexicals between BEGIN code and the mainline
rakudo/main: 4 commits pushed by (Nick Logan)++ 00:34
rakudo/main: aaa7d4c83c | (Nick Logan)++ (committed using GitHub Web editor) | 2 files
RakuAST: only decide a compile-time dispatch for a Routine (#6618)

Previously the compile-time dispatch analysis accepted any Code object bound once to the callee's lexical. The QAST stage then read the inline info attribute, which only a Routine carries, so calling a constant bound to a pointy block died with a missing attribute error. This gates the analysis on Routine, so a block callee compiles as an ordinary call.
01:26