ugexe there aren't any windows specific code paths that i see 00:46
i wonder if its specific to msvc and not windows 00:53
01:02 Aedil left 01:38 topnep left 01:41 topnep joined 01:58 hulk joined, kylese left 02:02 soverysour joined, soverysour left, soverysour joined 02:06 soverysour left 02:15 hulk left, kylese joined 03:28 vasko4535586 left 03:29 vasko4535586 joined
Voldenet it starts failing in 2024.01, interestingly `my $j = all($ = <a b c>) ~~ Str:D; $j ~~ Str:D` is False but if you use `$j ~~ Str:D` in REPL afterwards, it's True, using `$env:RAKUDO_OPTIMIZE_NOSM=1; raku` fixes it, but also `$env:RAKUDO_RAKUAST=1; raku` fixes it 04:00
erm, I meant `my $j = all(@ = <a b c>); $j ~~ Str:D` windows terminal copying is pain 04:08
to reduce the problem `my $j = all(1); $j ~~ Str:D` doesn't work, `my $j = all(1); $j ~~ Str:D` does 04:12
ugh, running `$j ~~ Str:D` later does
I meant Int:D, either way, I've just copied the whole output with RAKUDO_OPTIMIZER_SM_DEBUG=1 04:20
pastebin.com/B6pr5kzw
`$j ~~ Int` behaves differently, has additional `Try typematch over RHS Int` output 04:49
it's actually funny, there's optimizer bug that fixes the problem with `~~ Int` on windows :D 05:09
however, on windows both Int:D and Int are broken 05:10
> use nqp; say nqp::dispatch('raku-smartmatch', $ = all(1), Int, 1) # False on windows 2026.01, True on linux 05:11
05:22 wayland joined 05:23 wayland76 left 05:28 atcroft joined
Voldenet on windows this is 0, on linux this is 1: `use nqp; say nqp::tryfindmethod($ = all(1), <ACCEPTS>).IS-SETTING-ONLY-D` 05:57
so this behaves differently github.com/rakudo/rakudo/blob/f1c1....nqp#L4294
hint for `Int:D` not working is that in case of `my $j = all(1); say $j ~~ Int`, this line is hit github.com/rakudo/rakudo/blob/f1c1....nqp#L1605 06:15
in case of `$j ~~ Int:D` it isn't 06:16
The difference between windows and linux is most likely this 06:19
m: use nqp; say nqp::tryfindmethod(Junction, <ACCEPTS>).file # on windows this is `'SETTING::'src/core.c/Mu.rakumod` 06:20
evalable6 SETTING::src/core.c/Mu.rakumod
Voldenet so it looks like that it's some sort of IO difference after all
in fact, there's plenty of files that use `.starts-with("SETTING::")` so all of these would probably be broken 06:44
06:54 soverysour joined, soverysour left, soverysour joined
patrickb Oh wow. I would've. never guessed that path differences would hit us this deep down in the guts. 07:11
Good find. Thanks,
!
07:33 Aedil joined