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