[00:08] *** AlexDaniel left
[00:11] *** AlexDaniel joined
[08:02] *** AlexDaniel left
[09:05] *** apogee_ntv left
[09:06] *** apogee_ntv joined
[10:23] <Geth> ¦ nqp/main: e35f8ba03d | (Elizabeth Mattijsen)++ | tools/templates/MOAR_REVISION

[10:23] <Geth> ¦ nqp/main: Bump MoarVM to get object repossession fix

[10:23] <Geth> ¦ nqp/main: review: https://github.com/Raku/nqp/commit/e35f8ba03d

[10:52] <Geth> ¦ rakudo/main: f890e01c53 | (Elizabeth Mattijsen)++ | tools/templates/NQP_REVISION

[10:52] <Geth> ¦ rakudo/main: Bump MoarVM to get object repossession fix

[10:52] <Geth> ¦ rakudo/main: 

[10:52] <Geth> ¦ rakudo/main: Fixes #6507

[10:52] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/f890e01c53

[11:33] <Geth> ¦ rakudo/RakuAST-default: f0a2404146 | (Elizabeth Mattijsen)++ | 6 files

[11:33] <Geth> ¦ rakudo/RakuAST-default: Make RakUAST default for core and programs

[11:33] <Geth> ¦ rakudo/RakuAST-default: 

[11:33] <Geth> ¦ rakudo/RakuAST-default: Specifying RAKUDO_RAKUAST=1 as before will work.  Specifying

[11:33] <Geth> ¦ rakudo/RakuAST-default: RAKUDO_RAKUAST=0 or RAKUDO_RAKUAST= will switch back to using

[11:33] <Geth> ¦ rakudo/RakuAST-default: the legacy grammar for compilation of programs and modules.

[11:33] <Geth> ¦ rakudo/RakuAST-default: 

[11:33] <Geth> ¦ rakudo/RakuAST-default: This incorporates https://github.com/rakudo/rakudo/pull/6707

[11:33] <Geth> ¦ rakudo/RakuAST-default: (ugexe++) into a single commit with this change to allow for

[11:33] <Geth> ¦ rakudo/RakuAST-default: a smooth transition in CI as well.

[11:33] <Geth> ¦ rakudo/RakuAST-default: review: https://github.com/rakudo/rakudo/commit/f0a2404146

[11:35] <Geth> ¦ rakudo: lizmat++ created pull request #6710: Make RakUAST default for core and programs

[11:35] <Geth> ¦ rakudo: review: https://github.com/rakudo/rakudo/pull/6710

[12:19] <Geth> ¦ rakudo/RakuAST-default: 75efc97ca1 | (Elizabeth Mattijsen)++ | t/02-rakudo/m-flag-module-spec.t

[12:19] <Geth> ¦ rakudo/RakuAST-default: Fix failing test in Windows CI, at least for now

[12:19] <Geth> ¦ rakudo/RakuAST-default: review: https://github.com/rakudo/rakudo/commit/75efc97ca1

[12:19] <Geth> ¦ rakudo/RakuAST-default: ef77b533f8 | (Elizabeth Mattijsen)++ | 7 files

[12:19] <Geth> ¦ rakudo/RakuAST-default: Remove remaining macro tests

[12:19] <Geth> ¦ rakudo/RakuAST-default: review: https://github.com/rakudo/rakudo/commit/ef77b533f8

[12:19] <Geth> ¦ rakudo/RakuAST-default: 0563e019d9 | (Elizabeth Mattijsen)++ | lib/experimental.rakumod

[12:19] <Geth> ¦ rakudo/RakuAST-default: Remove support for 'use experimental :macros'

[12:19] <Geth> ¦ rakudo/RakuAST-default: review: https://github.com/rakudo/rakudo/commit/0563e019d9

[13:02] <Geth> ¦ rakudo/main: 5 commits pushed by (Elizabeth Mattijsen)++

[13:02] <Geth> ¦ rakudo/main: f0a2404146 | Make RakUAST default for core and programs

[13:02] <Geth> ¦ rakudo/main: 75efc97ca1 | Fix failing test in Windows CI, at least for now

[13:02] <Geth> ¦ rakudo/main: ef77b533f8 | Remove remaining macro tests

[13:02] <Geth> ¦ rakudo/main: 0563e019d9 | Remove support for 'use experimental :macros'

[13:02] <Geth> ¦ rakudo/main: 2c066074e1 | Merge pull request #6710 from rakudo/RakuAST-default

[13:02] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/compare/f890e01c536e...2c066074e186

[13:03] <lizmat> alea iacta est!

[13:34] *** bisectable6 left
[13:34] *** quotable6 left
[13:34] *** bloatable6 left
[13:34] *** committable6 left
[13:34] *** coverable6 left
[13:34] *** notable6 left
[13:34] *** shareable6 left
[13:34] *** tellable6 left
[13:34] *** unicodable6 left
[13:34] *** evalable6 left
[13:34] *** sourceable6 left
[13:34] *** huggable6 left
[13:34] *** greppable6 left
[13:34] *** releasable6 left
[13:34] *** linkable6 left
[13:34] *** benchable6 left
[13:34] *** nativecallable6 left
[13:39] *** bloatable6 joined
[13:39] *** releasable6 joined
[13:39] *** bisectable6 joined
[13:39] *** benchable6 joined
[13:39] *** linkable6 joined
[13:40] *** committable6 joined
[13:40] *** notable6 joined
[13:40] *** sourceable6 joined
[13:41] *** evalable6 joined
[13:41] *** quotable6 joined
[13:41] *** greppable6 joined
[13:41] *** shareable6 joined
[13:41] *** unicodable6 joined
[13:41] *** nativecallable6 joined
[13:42] *** huggable6 joined
[13:42] *** tellable6 joined
[13:42] *** coverable6 joined
[14:00] <[Coke]> (Still trying to setup a windows build env on the new dual boot so I can at least do ad hoc testing as needed.

[14:00] <[Coke]> s/trying/going/

[14:00] <evalable6> [Coke], rakudo-moar 2c066074e: OUTPUT: «Use of uninitialized value $_ of type Any in string context.␤Methods .^name, .raku, .gist, or .say can be used to stringify it to something meaningful.␤  in block <unit> at /tmp/RpHyIDdzo5 line 1␤»

[14:00] <[Coke]> Maybe not have evalable6 try to run that common idiom as code. :|

[14:50] <[Coke]> I'm getting a failure on the windows build on my new desktop that I've not seen before:

[14:51] <[Coke]> https://gist.github.com/coke/47420c7da9c5757026f784cd77831bee

[14:54] <[Coke]> Maybe we're not passing the right build flags to zmij?

[14:55] <[Coke]> ugexe - did you testing include the updated zmij tweak?

[14:57] <ugexe> https://github.com/MoarVM/MoarVM/commit/b509f046601cad7fc6206ff5816fbede74cfe320

[14:59] <ugexe> i would guess you are building rakudo with cmd.exe or something, and that it'd work if you used x86 command line tools prompt or whatever the hell that thing is called

[15:00] <releasable6> Next release in ≈4 days and ≈3 hours. There are no known blockers. Please log your changes in the ChangeLog: https://github.com/rakudo/rakudo/wiki/ChangeLog-Draft

[15:01] <ugexe> "Why it fails for them and not CI: the guard checks the OS, not the architecture, and interp.c never includes <intrin.h>/<immintrin.h>. _tzcnt_u64 is a 64-bit BMI1 intrinsic that doesn't exist in 32-bit MSVC, so the compiler falls back to an implicit extern declaration and the x86 cdecl leading underscore turns it into __tzcnt_u64 at link time. That extra underscore in the error is the tell —

[15:01] <ugexe> they're doing a 32-bit x86 MSVC build. Note _tzcnt_u32 in bigintops.c linked fine in their build, which confirms the compiler recognizes the 32-bit form and only the 64-bit one is missing."

[15:05] <[Coke]> I'm using developer powershell for VS 18

[15:06] <[Coke]> and in there, it's setup enough to use MSVC (in a non dev powershell, I get the ming tools that came along with... git, I think)

[15:08] <ugexe> does it work if you use x64 Native Tools Command Prompt for blah bah blah

[15:10] <ugexe> there is a x86 Native Tools Command Prompt for blah blah blah as well, and im wondering if one of those works

[15:11] <[Coke]> there is an x64 command prompt (but not a powershell one, weird.)

[15:11] <[Coke]> one sec.

[15:12] <ugexe> to be clear though it does seem like a moarvm bug. claude suggests we should have logic similar to this (https://github.com/MoarVM/MoarVM/blob/a6b33639c72a43d58fb20d8aa8ffffd17e4c4fe1/src/core/coerce.c#L32-L47) for the function you are referencing

[15:16] <[Coke]> yup, the command prompt environment got past that.

[15:16] <[Coke]> ugexe++

[15:21] <[Coke]> works. (now I have to setup my poewrshells to default to utf8)

[16:47] <[Coke]> ugexe: is your work to fix the MoarVM issue we noted in the AST blin runs in moarvm yet?

[16:48] <[Coke]> (the recent commit to MoarVM reminded me - not sure if that one *IS* that work)

[16:52] <ugexe> the most recent commit to moarvm is the one that fixes like ~40 modules. you had included it in some prior ast blin runs but not the most recent one it looks like

[16:54] <[Coke]> no, because it required a brnch in moarvm, nqp, and rkaudo to not impact main, and I was too lazy to keep doing that.

[16:54] <[Coke]> As soon as that's pulled into rakudo & built, will do another blin run.

[16:59] <[Coke]> will also kill the ast-specific repo

[17:00] <[Coke]> (of blin results)

[17:54] <lizmat> m: use NativeCall; my size_t $a .= new    # this wasn't a problem in legacy

[17:54] <camelia> rakudo-moar e17a1d43b: ( no output )

[17:54] <lizmat> m: say Raku.legacy

[17:54] <camelia> rakudo-moar e17a1d43b: OUTPUT: «True␤»

[17:54] <lizmat> feels like camelia is stuck  :-(

[17:55] <lizmat> meh, already a 9 days ago

[17:56] <[Coke]> c: 2c066074e1 e.say

[17:56] <committable6> [Coke], ¦2c06607: «2.718281828459045␤»

[17:57] <lizmat> evalable6: use NativeCall; my size_t $a .= new    # this wasn't a problem in legacy

[17:57] <evalable6> lizmat, rakudo-moar 2c066074e: OUTPUT: «(exit code 1) ===SORRY!===␤Can only compile an …»

[17:57] <evalable6> lizmat, Full output: https://gist.github.com/68efa16c442cb802fc97c244b154d273

[17:59] <[Coke]> c: HEAD use NativeCall; my size_t $a .= new

[17:59] <committable6> [Coke], https://gist.github.com/e54d6d76acbe0d781e3adaa99e0be6e5

[18:00] <ugexe> why should that work?

[18:00] <ugexe> m: use NativeCall; my $a = size_t.new;

[18:00] <camelia> rakudo-moar e17a1d43b: OUTPUT: «Cannot instantiate a native type␤  in block <unit> at <tmp> line 1␤␤»

[18:00] <ugexe> would you expect that to work?

[18:01] <lizmat> ugexe: LibGit2 uses that syntax, and it works in legacy, breaks now

[18:02] <ugexe> did it work? i think i just demonstrated it didnt

[18:02] <lizmat> true, that didn't, but the case with .= did

[18:02] <lizmat> m: use NativeCall; my size_t $a .= new; dd $a

[18:02] <camelia> rakudo-moar e17a1d43b: OUTPUT: «0␤»

[18:05] <ugexe> either we accepts its wrong or we make native types instantiable which the error explicitly says is not something that can be done

[18:06] <lizmat> it currently already says it is not something that can be done on HEAD

[18:06] <lizmat> LibGit2 needs a PR and a release, will work on that

[18:06] <lizmat> (and fork if necessary)

[18:07] <ugexe> yes, im saying the fact .= new works on legacy is in conflict with the error message i showed when writing that .= thing in the more straightforward way

[18:37] <lizmat> https://github.com/CurtTilmes/raku-libgit2/pull/11

[18:47] <Geth> ¦ rakudo/main: 64c2f51fc8 | (Elizabeth Mattijsen)++ | src/Raku/ast/variable-declaration.rakumod

[18:47] <Geth> ¦ rakudo/main: RakuAST: improve error trying to instantiate a native a bit

[18:47] <Geth> ¦ rakudo/main: review: https://github.com/rakudo/rakudo/commit/64c2f51fc8

[19:04] <lizmat> looks like MoarVM::Profile needs some TLC, will look at that later today or tomorrow

[19:04] <lizmat> afk&

[19:07] <ugexe> hmm, may have to thikn about this more

[19:07] <ugexe> m: use v6.c; my Int:D $x .= new: 42

[19:07] <camelia> rakudo-moar e17a1d43b: OUTPUT: «You cannot create an instance of this type (Int:D)␤  in block <unit> at <tmp> line 1␤␤»

[19:07] <ugexe> m: use v6.d; my Int:D $x .= new: 42

[19:07] <camelia> rakudo-moar e17a1d43b: ( no output )

[19:08] <ugexe> that sort of changes my mind and think that the legacy behavior actually isn't inconsistent

[19:09] <ugexe> i'll take a look at it later

[19:43] *** finanalyst joined
[21:18] *** finanalyst left
[22:15] <lizmat> m: my int $a .= new

[22:15] <camelia> rakudo-moar e17a1d43b: ( no output )

[22:15] <lizmat> m: int.new

[22:15] <camelia> rakudo-moar e17a1d43b: OUTPUT: «Cannot instantiate a native type␤  in block <unit> at <tmp> line 1␤␤»

[22:16] <lizmat> "int.new" is an error in legacy as well, so why would "my int $a .= new" work

[22:16] <lizmat> as that is just short for "my int $a = int.new"

[22:29] <ugexe> it changed in 6.d to be on the default

[22:32] <ugexe> https://github.com/rakudo/rakudo/commit/38b198c992

[22:34] <lizmat> so you'd argue that "int" as a constraint is effectively Int:D ?

[22:34] <lizmat> m: my int $a; dd $a

[22:34] <camelia> rakudo-moar e17a1d43b: OUTPUT: «0␤»

[22:34] <lizmat> m: my Int:D $a; dd $a

[22:34] <camelia> rakudo-moar e17a1d43b: OUTPUT: «===SORRY!=== Error while compiling <tmp>␤Variable definition of type Int:D needs to be given an initializer␤at <tmp>:1␤------> my Int:D $a<HERE>; dd $a␤    expecting any of:␤        constraint␤»

[22:35] <lizmat> anyways, bed time for me :-)

[22:37] <ugexe> it might be that change didn't consider natives at all

[22:38] <ugexe> my int $a = (my int $).new

[22:38] <ugexe> that is basically what legacy does^

[22:38] <ugexe> for a `my int $a .= ne`

[22:40] <ugexe> m: class A { has int $.x .= new }; say A.new

[22:40] <camelia> rakudo-moar e17a1d43b: OUTPUT: «Cannot instantiate a native type␤  in method  at <tmp> line 1␤  in block <unit> at <tmp> line 1␤␤»

[22:41] <ugexe> hmm, it seems like only `my` declarations in legacy worked that way

[22:41] <ugexe> i officially change my mind again, the rakuast behavior seems more consistent

