[Coke] jdv also fine with no release this month. 01:25
06:03 Voldenet left, Voldenet joined
ab5tract today's rubber ducking update: the issue appears to lie somewhere in the way we resolve pseudo packages (or at least the UNIT pseudo package) 08:03
written down, that comes across as quite obvious :)
but at least I'm in the right part of the internals now
SmokeMachine Does anyone know what this error is about? I installed rakudo on iSH on my iPhone and when I run that, it get that error… usercontent.irccloud-cdn.com/file/...274104.JPG 09:29
Adding —ll-exception does not change the output 09:32
lizmat feels like a question you should ask on #moarvm 09:48
10:11 El_Che left 11:11 sivoais_ left, sivoais joined
nine I guess whatever that iSH thing is, it defines __APPLE__ but unlike MacOS doesn't support pthread_getname_np so we fail in 3rdparty/libuv/src/unix/thread.c:956 11:16
11:28 ab5tract_ joined 11:35 ugexe left, ab5tract left, ab5tract_ is now known as ab5tract, ab5tract left, ab5tract joined
ab5tract nine: afaict the issue with $=finish is that the CHECK code is running prior to the compunit installing its lexicals 11:40
11:40 ugexe joined
ab5tract But from there, I have very little clue for how to proceed 11:40
I have a naive fix but obviously fixing the underlying problem would be much preferred 11:41
nine ab5tract: What exactly do you mean by "installing its lexicals"? How did you determine that it hasn't done that yet? 11:46
ab5tract what I mean is that they don't appear to be in the QAST. for instance, see this github.com/rakudo/rakudo/pull/5953...6a1af8R305 11:48
but that's the "papered over" solution 11:49
one other dynamic I've observed is that PsuedoStash's $!ctx is null during the CHECK-time resolution 11:50
nine Are they never included in the QAST at all? 11:54
ab5tract nine: no they are in place by INIT
nine But, but, but the QAST is only generated once and then cached 11:55
ab5tract hmm
then I guess that line of thought is probably a red herring
The PsuedoStash missing a `$!ctx` is probably a more fruitful avenue for me to investigate 11:56
when it's null, the relevant sub returns Nil 11:57
(the relevant code for that is in core.e/PseudoStash.rakumod) 11:59
ah, this is interesting.. $!ctx *is* defined at first. but when we search for the context that has !UNIT_MARKER, it becomes null 12:29
so maybe the CHECK is running prior to PRODUCE-IMPLICIT-DECLARATIONS? (still doesn't make much sense) 12:30
okay, this is getting weird. I've put in some debug code gist.github.com/ab5tract/15cdd3d7d...0d926d2932 13:40
now, I expected the !UNIT_MARKER check to fail for `CHECK UNIT::<$=finish>`
ab5tract sees flaw in debug code 13:41
this is better: gist.github.com/ab5tract/15cdd3d7d...0d926d2932 13:48
So yeah, it seems that the implicit declarations aren't in place during CHECK 13:49
Geth rakudo/r5855-finish-shenigans: 4d934ec4df | ab5tract++ | 2 files
working!
14:29
rakudo/r5855-finish-shenigans: d76f8e56a7 | ab5tract++ | src/Raku/ast/code.rakumod
Make UNIT implicits available to dynamic code
rakudo/r5855-finish-shenigans: 019b117f79 | ab5tract++ | 3 files
RakuAST - Make UNIT implicits available to dynamic code

This fixes R#5855 (#5855), where `$=finish` was not available during `BEGIN/CHECK` time.
Ensuring that all of the compunit's implicit declarations are available during dynamic code execution addresses the ... (5 more lines)
14:42
linkable6 R#5855 [open]: github.com/rakudo/rakudo/issues/5855 [RAKUDO_RAKUAST=1] Could not find a compile-time-value for lexical $=finish
rakudo/r5855-finish-shenigans: e9b593d9d5 | ab5tract++ | 2 files
RakuAST - Make UNIT implicits available to dynamic code

This fixes R#5855 (#5855), where `$=finish` was not available during `BEGIN/CHECK` time.
Ensuring that all of the compunit's implicit declarations are available during dynamic code execution addresses the ... (5 more lines)
14:45
linkable6 R#5855 [open]: github.com/rakudo/rakudo/issues/5855 [RAKUDO_RAKUAST=1] Could not find a compile-time-value for lexical $=finish
ab5tract turns out my first patch wasn't too far off :D 14:54
I could see this still being off, though.. the number of items in UNIT::.keys during CHECK is a small fraction of what it is at run time 15:04
It feels like the right way for this to work would be `$resolver.create-scope-implicits`. It does not work, unfortunately 15:06
15:21 librasteve_ joined
nine ab5tract: nice work on that PR! 17:04
ab5tract Unfortunately it falls down in testing :( 17:11
17:56 librasteve_ left
ab5tract something is trying to re-introduce `$=data` (and I assume other doc vars) 17:57
18:34 ugexe left, ugexe joined 19:11 Pixi` joined 19:14 JRaspass left 19:15 JRaspass joined, Pixi left
ab5tract also getting: Object of type NativeCall in QAST::WVal, but not in SC 19:16
in t/02-rakudo/16-begin-time-eval.t
23:17 guifa joined
japhb ab5tract: In your patch, you delete lines 383 and 384, which together did an ensure-sc on the current-package. Is that intentional? 23:24