ChanServ changed the topic of #zig to: zig programming language | https://ziglang.org | be excellent to each other | channel logs: https://irclog.whitequark.org/zig/
<hryx> there's probably just something messed up about my setup. but if there's a bug, I don't want to just work around it, knaw mean?
<scientes> of course
<scientes> like the libuserland crash dumps dont work for me
<scientes> so i just work around that
<hryx> ah
<hryx> I wanna work on the peer type resolution ticket (2749) but I'm so intimidated by ir.cpp. it's 26k lines of C++
<scientes> i've done quite a bit of work in ir.cpp
<scientes> its well organized
<hryx> that's good
darithorn has joined #zig
<scientes> ahhh i see, I was looking at some peer type stuff and didn't understand what it did
<emekankurumeh[m]> ir.cpp looks a lot scarier than it actually is
<scientes> ^^^^^^
<scientes> I've done lots of work in it, and it isn't that scary
<scientes> analyze has two passes, and almost all that code is in ir.cpp
<scientes> you first do ir_build_foo, then ir_analyze_instruction_foo
<scientes> oh that reminded me of a bug i forgot to file
<hryx> looks like some relevant pieces are ir_resolve_peer_types() and the ResultLocPeerParent type
<scientes> yep
<hryx> and ResultLocPeerParent has a parent itself, which I assume is the Var or Return that I'm looking for
<hryx> yer right friendos, this isn't so bad. I'll mess around with it for a bit
<scientes> The only problems I have had have been to be with it being compiled in c++ mode.l
<scientes> but otherwise it thankfully is coded to be understandable, even if that means it is a little more repetitive
<mikdusan> after using zig it hurts (as in why am I wasting time on this?) to deal with c++ includes, fwd declares, templates and cyclic deps
<scientes> when was C++ not painful?
<mikdusan> heh maybe i just didn't know how painful it was _before_
<scientes> but what I am really excited about in zig right now is doing what i've been doing in C
<scientes> but compared to C++, C was always painful
<scientes> *compared to C, C++ was always
<hryx> as humans our brains adjust to worse levels of pain just to get through the day. until something better comes along
<hryx> dat's progress
<mikdusan> did hryx just coin a slogan for Zig?
<daurnimator> It's more just swapping from one sort of pain to another
<scientes> like that @shuffle PR i just opened
<hryx> mikdusan: :D
<scientes> lots of work, but the result will (hopefully) be really awesome
<scientes> we already have it "C but without the problems"
<daurnimator> "C but with less problems"
<daurnimator> we can't fix all of them
<daurnimator> --> you *can't* fix all of them without simultaneously taking away power/capabilities.
<scientes> daurnimator, it comes from the recent Andrew talk https://www.youtube.com/watch?v=Gv2I7qTux7g
<daurnimator> but then you end up in the situation where you're not as powerful as C.... which means C gets to remain
<scientes> which is not news to people in this channel, but was still good
<scientes> yeah I'm wondering if aliasing will make it into 1.0, maybe not
<scientes> without that C is still faster.....
<Cadey> if you're not sure, you can always run benchmarks
<scientes> but what I'm trying to do doesn't need that
<scientes> I agree that it needs more thought, and the current old c memory model is correct for now
ianlilleyt has joined #zig
<mikdusan> is strict-aliasing an individual optimization pass in llvm?
ianlilleyt has quit [Remote host closed the connection]
<mikdusan> or whatever it would be called
<daurnimator> ^ TIL `void foo(int[static 4]); // >= 4 elements, cannot be null` is a C99 thing
<shachaf> I use that occasionally.
<shachaf> void SHA1_end(SHA1State *sha1, U8 output[static SHA1_HASH_BYTES]);
<scientes> daurnimator, the calling conventions dictate that that would be passed in registers too
<shachaf> Hmm? It's passed as a pointer, same as it would be without the static.
<scientes> oh it has to be a "composite type"
<scientes> because llvm could even handle passing arrays by value
<scientes> it has extractvalue and insertvalue
<hryx> --verbose-ir is causing a failed compiler assertion. man, today is just not going to be productive, is it?
<mikdusan> hryx: andy showed me a way to get rid of that, and reduce noisy ir output
<hryx> ooh! do tell
<hryx> I've never poked around with zig IR so a lot of this will be new for me
<mikdusan> here's boiler plate i use for isolating ir. https://gist.github.com/mikdusan/087ac6e753fef693acf068bb833612a7
<hryx> awesome, super helpful mikdusan
<mikdusan> defining your own panic reduces a boatload of noise. and export fn entry() ensures code is needed
<mikdusan> i've found somewhere in the noise is where that assert happens.
<hryx> it's complaining that I don't have a `main` fn
<mikdusan> try `zig build-obj ...`
<hryx> that did the trick :> I was using build-exe
<hryx> thanks a lot. this can serve as my crash course
<scientes> oh god, C++ added a arena allocator, but as usually they made it way more complicated than it had to be
<mikdusan> monotonic_buffer_resource?
<scientes> and they have to add all these stupid terms too
marijnfs_ has joined #zig
marijnfs has quit [Ping timeout: 268 seconds]
darithorn has quit [Quit: Leaving]
<emekankurumeh[m]> hryx: is adding an error for a capture on an else possible?
<emekankurumeh[m]> would that be in all cases or just when the payloads of all the else don't match?
<hryx> emekankurumeh[m]: I'm not totally sure! Based on the original proposal of #1107, I could see it only being an error when they don't match
<hryx> but I could see it either way
<hryx> but maybe it depends, if `else` should just be sugar for all other cases explicitly listed
<hryx> if `else` should be simpler, then it could just be illegal to try to unwrap it (for enums anyway)
ajhager has quit [Ping timeout: 260 seconds]
<emekankurumeh[m]> the zig ir system doesn't store any info about the payloads types in the ir instruction for else's in switches
<hryx> mm I see. so maybe it should just be an error to do `else => |x|` ?
<hryx> honestly I think that's ok
ltriant has quit [Ping timeout: 245 seconds]
ajhager has joined #zig
laaron- has quit [Quit: ZNC 1.7.1 - https://znc.in]
laaron has joined #zig
<hryx> scientes: are you still working on #2129?
<scientes> I finished it, but it never got merged
<hryx> is there a pull request?
<scientes> it was closed, let me see
<scientes> (it wasn't rejected or anything)
<scientes> #2099
<hryx> thanks
<scientes> I was actually quite proud that i did a through job on the stage2 parser
<scientes> but I also ran into bugs, and it just got too messy to merge
<scientes> daurnimator, do you understand my use case however, on pruning switch cases as unreachable?
<scientes> or is that hidden control flow?
<scientes> actually maybe it is
<daurnimator> scientes: not really: I don't know why you've got a comptime undefined variable
<scientes> the point is that you might have a switch that only applies to one architecture or something
<scientes> like I was going to use this for reading the AUXV
<daurnimator> scientes: if you have a comptime var that's only initialised for some feature flags then its type should vary
<scientes> and you don't want that code to by in binaries where that value will never exist
<daurnimator> scientes: e.g. `myvar: if (arch && somefeatureflag) u64 else void`
<daurnimator> s/&&/and/
<scientes> ahhhhhh yes, void will do it!
<scientes> no it wont
<scientes> hahaha, I keep using && and || too
<scientes> but zig's and and or is better
<daurnimator> yeah I don't know why I keep writing it. I write more lua than anything else and lua has the keyword 'and'
<scientes> yeah , I don't think you see my use case yet
<scientes> its not totally necessary, it can be done with other ways
<scientes> daurnimator, that doesn't work with switch however
<scientes> switch will bail if you pass a void as a key
<daurnimator> scientes: then don't switch..... you would be doing something like: if (feature_available) { switch(self.field) { ..... }}
<daurnimator> scientes: see in that same file I linked all the places I use `if (allow_relative_access)`
<scientes> actually I was going to do something more like elf.AT_HWCAP => trigger
<scientes> and then trigger() void { if (builtin.Arch...) return; do_+something();)
<scientes> daurnimator, but sometimes it might be nice just to say "don't do anything with this value, it is a dummy that should be compiled out"
<scientes> and void is actually that in zig
<scientes> so maybe switch should allow void
<scientes> (and multiple instances of it)
<mikdusan> what if the expr is of type `type` ?
<scientes> oh yeah void is a IDMetaType, i.e. "type"
<scientes> but that keyword seems most apt for this
<mikdusan> does `{}` make any sense?
<scientes> no
<scientes> basically this is #ifdef guards, but on a variable
<scientes> rather than a block
<daurnimator> scientes: so far it still sounds just like my link above
<scientes> daurnimator, yes, but you have to test if (allow_relative_access) over and over
<daurnimator> yes.
<scientes> my proposal is to make that unnecessary
<scientes> if it is "void" then it just prunes everything
<daurnimator> Sounds too "magic" for my liking
<daurnimator> I don't mind the repeated `if (allow_relative_access)`. makes it obvious to read.
<scientes> its pretty similar to the existing lazy evaluation however
<scientes> so I'm not sure it adds a new problem
<scientes> but yeah might be too magical
<scientes> its just an idea
<scientes> like there might be corner cases if you try to take the address of something
<mikdusan> personally i like the idea of comptime'ing out switch cases but maybe the need is not strong enough to justify
<scientes> what i don't like about it is that is destroys the communicative property
<scientes> so if (foo > 0) will be false, and if (foo <= 0) will also be false
<scientes> so I think that is a non-starter
<daurnimator> scientes: have you met NaN?
<scientes> yeah but that is only for floats
<scientes> in floats a + b is differn't from b + a
<daurnimator> scientes: huh? no they're the same
<daurnimator> IEEE754 *is* commutative (it's *not* associative.)
<scientes> daurnimator, -0 + 0 => -0. 0 + -1 => 0
ltriant has joined #zig
<scientes> * 0 + -0 => 0
<daurnimator> IEEE-754 considers -0 and 0 equal.
<scientes> you mean the equal operation returns true
<scientes> but they are not the same
<scientes> and thus it is not communicative
<daurnimator> Yeah... the equal operation. what else are you talking about: bitwise equality?
<daurnimator> if you use bitwise equality then you'll handle NaN wrong
<scientes> 1 / (a + b )
<scientes> is not the same as 1 / (b + a)
<daurnimator> scientes: howso?
<scientes> sometimes you get positive infinity and other negative infinity
<scientes> *and the other NAN
<scientes> no wait, negative infinity
<daurnimator> scientes: please demonstrate?
<scientes> ahh floats are so confusing
<scientes> if a is -0 and b is +0, then 1 / (a + b) is negative infinity
<scientes> while 1 / (b + a) is positive infinity
<daurnimator> I don't think it's possible to get -0 in there
<scientes> of course it is, these are floats
<daurnimator> scientes: it shouldn't be if your compiler is STDC_IEC_559 compliant
<scientes> so it turns out there is special exception for -0 + 0 => 0
<scientes> which is super duper weird
<scientes> as otherwise adding zero (positive or zero) will not change the left hand number
hio has joined #zig
reductum has joined #zig
meowray has quit [Quit: ZNC 1.6.6 - http://znc.in]
ltriant has quit [Ping timeout: 248 seconds]
ltriant has joined #zig
\u has joined #zig
darithorn has joined #zig
ajhager has quit [Ping timeout: 260 seconds]
darithorn has quit [Quit: Leaving]
\u is now known as meowray
<daurnimator> emekankurumeh[m]: could you use better commit messages in #2799?
<emekankurumeh[m]> no problem, but what exactly do you mean by better?
<daurnimator> "basic partial implementation" doesn't tell me what the commit is about at all
<daurnimator> implementation of what? why is it partial?
<emekankurumeh[m]> i'm probably going to end up squashing those commits together
<emekankurumeh[m]> i mostly just committed more as a form for "backing up" my code
<emekankurumeh[m]> daurnimator: whats your opinion on allowing on allowing captures in else prongs?
<daurnimator> emekankurumeh[m]: only if the type makes sense.... which I think is rare
<daurnimator> emekankurumeh[m]: would it be any different to: const x = foo(); switch(x) { ....... else => // use x }
<emekankurumeh[m]> thats what it currently does, and i wasn't sure if i should make that an error if the payloads don't match
<daurnimator> the concept seems weird for me
<daurnimator> e.g. I'd expect that a |x| would always 'unwrap'
<daurnimator> on the other hand, I can imagine magically constructing a union: switch(union{a:A,b:B,c:C}) { .a => {}, else |x| => { // should x be of type union{b:B,c:C} }}
<daurnimator> (or not.... mainly because unions in zig can have methods; which brings up too many questions about what that constructed type would have/be)
marler8997 has quit [Ping timeout: 260 seconds]
brakmic has joined #zig
brakmic_ has joined #zig
brakmic has quit [Ping timeout: 245 seconds]
brakmic__ has joined #zig
brakmic_ has quit [Ping timeout: 258 seconds]
ltriant has quit [Quit: leaving]
Tetralux has quit [Ping timeout: 245 seconds]
reductum has quit [Quit: WeeChat 2.5]
avoidr has quit [Quit: leaving]
marmotini_ has joined #zig
marmotini_ has quit [Ping timeout: 245 seconds]
marijnfs_ has quit [Quit: WeeChat 2.4]
laaron has quit [Quit: ZNC 1.7.1 - https://znc.in]
laaron has joined #zig
samtebbs has joined #zig
laaron has quit [Remote host closed the connection]
laaron has joined #zig
marmotini_ has joined #zig
FireFox317 has joined #zig
<FireFox317> Hey guys, I'm working on some LLVM targetoptions stuff. For wasm (and probably other targets) LLVM sets some default options, these are set in the codegen.cpp init() `LLVMCreateTargetMachine` function. Now it is not possible to set the targetOptions here, because the c-llvm sets them in https://llvm.org/doxygen/TargetMachineC_8cpp_source.html#l0010
<FireFox317> 2
<FireFox317> Should I rewrite the `LLVMCreateTargetMachine` function and use the c++ api directly calling `createTargetMachine`, in which case I can set some targetOptions and these can then be overwritten by the LLVM backend. This is what Clang does
<FireFox317> Currently I'm setting the option almost at the end, just before outputting the file (in `ZigLLVMTargetMachineEmitToFile`) and that overwrites the default options set by LLVM.
_whitelogger has joined #zig
Tetralux has joined #zig
laaron has quit [Quit: ZNC 1.7.1 - https://znc.in]
laaron has joined #zig
marmotini_ has quit [Ping timeout: 258 seconds]
st4ll1 has joined #zig
st4ll1 has quit [Ping timeout: 245 seconds]
marmotini_ has joined #zig
st4ll1 has joined #zig
marmotini_ has quit [Ping timeout: 246 seconds]
hio has quit []
st4ll1 has quit [Ping timeout: 244 seconds]
marmotini_ has joined #zig
st4ll1 has joined #zig
dimenus_ has joined #zig
fsateler has joined #zig
st4ll1 has quit [Ping timeout: 244 seconds]
st4ll1 has joined #zig
halosghost has joined #zig
marijnfs has joined #zig
dimenus_ has left #zig ["Leaving"]
avoidr has joined #zig
ajhager has joined #zig
bheads has quit [Quit: bheads]
bheads has joined #zig
bheads has quit [Quit: bheads]
bheads has joined #zig
mmx87 has quit [Ping timeout: 272 seconds]
ajhager has quit [Ping timeout: 260 seconds]
Akuli has joined #zig
squiddlebit has joined #zig
mmx87 has joined #zig
ajhager has joined #zig
darithorn has joined #zig
marijnfs_ has joined #zig
ajhager has quit [Ping timeout: 260 seconds]
bheads has quit [Ping timeout: 244 seconds]
FireFox317 has joined #zig
Akuli_ has joined #zig
<FireFox317> Someone with some git knowledge can help me? I screwed something up and now there are a bunch of commits added to my PR. https://github.com/ziglang/zig/pull/2776
Akuli has quit [Disconnected by services]
Akuli_ is now known as Akuli
<Akuli> FireFox317, which commits would you like to delete from the pull request?
<scientes> why is gcc/zig inline assembly so friggen difficult
<scientes> It is like pulling teath
<FireFox317> Akuli: I rebased and now it added a bunch of commits from other people to my commits
<FireFox317> Only the last few commits are mine, pff always the struggle with git
<Akuli> hmm what is going on here :D
<Akuli> here is a nice command for dealing with git: git log --graph --decorate --pretty=oneline --abbrev-commit
<Akuli> i recommend making an alias of that
<Akuli> try running it to see what your rebase has doen
<Tetralux> scientes: To be fair, I can't for the life of me deduce how zig's inline assembly works. I'd need a manual...
<Akuli> i don't understand assembly at all :D
<scientes> Tetralux, i can't even do it in C
<scientes> it is the constraint syntax
<scientes> and the cryptic error messages
<Tetralux> I hate constraint syntax... at least make it obvious xD
<FireFox317> Akuli: So I added a commit to my branch, and first I fetched the upstream and rebased with my current branch. Then i tried to push it to origin, but git told me to pull first, so I did that and then it merged stuff or something
<Akuli> yeah pull merges
<Akuli> i would have force-pushed, but i don't know whether that's the correct way to solve this
<Akuli> maybe ask #git :D
<FireFox317> Yeah i probably should have done that or something. I'm not that familiar with git :(
<Akuli> i don't know much about it either
<FireFox317> I could ask #git, but there is defintely someone here who can help me i think
<Akuli> sometimes i get everything screwed up to the point that i just rm -rf everything and clone the repo again
<FireFox317> Jup, i did that some time ago too XD
<Akuli> hint: you can cp -r git repos when you think you might screw up something
<samtebbs> FireFox317: If you rebase then you'll need to force push, as you will have changed the commit history
<samtebbs> If you try to non-force push, git will see that your history is different to the one on the remote and ask you to pull
<Akuli> hmm, how about this idea: check out the commit before the merge and then force-push that
<samtebbs> Force-pushing is safe if the only changes needed on the branch are all local :)
<Akuli> FireFox317, did you run the long 'git log' command? pastebin the output
<FireFox317> samtebbs: Yeah i should have done that, but unfortunately I didnt.
<Akuli> we can probably go back to the point before the merge easily
<FireFox317> Hopefully Akuli, one moment I will paste that in pastebin
<samtebbs> You can do a hard reset to the head of master and then cherry pick your commits back, then force push
<Akuli> all that because a failed merge?
<Akuli> i think just checking out the commit before the merge is enough
<samtebbs> You can see your all your commits, even ones that aren't in the history any more with `git reflog`
<Akuli> FireFox317, i meant my 'git log' command with lots of arguments
<samtebbs> Akuli: Possibly yes, if those extra commits we don't want came from the merge
<FireFox317> ooh
<Akuli> git log --graph --decorate --pretty=oneline --abbrev-commit
<FireFox317> my bad
<Akuli> samtebbs, i'm quite sure they did
<samtebbs> (y)
<Akuli> <FireFox317> Akuli: So I added a commit to my branch, and first I fetched the upstream and rebased with my current branch. Then i tried to push it to origin, but git told me to pull first, so I did that and then it merged stuff or something
<samtebbs> Yeah that should solve it then
<samtebbs> You don't wanna do a hard reset unless you have to :)
<FireFox317> <Akuli> think just checking out the commit before the merge is enough, this?
<Akuli> i will know what to do when i see the git log output
<Akuli> it should be a nice tree
<Akuli> which of these commits are yours? "Added the ZigLVVMCreateTargetMachine to self hosted zig code" ?
<Akuli> or the function-section thing?
<FireFox317> All of the messages that start with 'Added'
<FireFox317> function-section and createTarget stuff
<Akuli> hmm why is one of them in a different place
<FireFox317> ffe618c1> this one should not have been added
<Akuli> i would try this:
<Akuli> $ git checkout 597caddd
<Akuli> $ git checkout -b akuli-test
<Akuli> $ git cherry-pick ffe618c1
<Akuli> $ git push --force origin akuli-test:function-sections
<Akuli> samtebbs, does that look about right?
<FireFox317> akuli-test?
<Akuli> that's just a branch name
<Akuli> you can name it anything you want
<Akuli> hmm
<FireFox317> ah yes, pff so annoying I always screw up this github stuff
<Akuli> why are those commits showing up lol :D
<FireFox317> wait let me paste my cli
<Akuli> if my idea doesn't work, that's ok, because it should be all on just the akuli-test branch
<FireFox317> Should i try you idea?
ajhager has joined #zig
<Akuli> git merge upstream/master
<Akuli> i think this created a problem
<Akuli> or no
<Akuli> let me read the rest of this
<FireFox317> I think the `git rebase master`
<Akuli> i cloned your fork and did some stuff
<Akuli> i managed to create this http://dpaste.com/0FPBJ3H
<Akuli> what i still don't understand is why "ffe618c1 Added function-section functionality" is so different from the rest of your work
<Akuli> do you want that to be included in your pull request as well?
<FireFox317> No
<FireFox317> That shouldnt be include
<Akuli> ok
<Akuli> then this is easy :D i thought you wanted that
<Akuli> first we'll go to look at the commit just before the merge, last commit you want to include
<FireFox317> not this one: ffe618c1
<Akuli> $ git checkout 597caddd
<Akuli> so that is the last one you want
<FireFox317> Jup
<Akuli> if you run git status, it'll say that your head is deatched (ouch)
<Akuli> so we fix that
<FireFox317> For me it doesnt say that?
<Akuli> $ git checkout -b akuli-test-2
<Akuli> hmm :D
st4ll1 has quit [Ping timeout: 268 seconds]
<Akuli> let me try this on my system then
<Akuli> maybe you have a different git version then
<Akuli> so check out 597caddd and then do the -b thing
st4ll1 has joined #zig
<FireFox317> ah yeah if i checkout to that hash then my head is detached indeed
<Akuli> you should get this http://dpaste.com/1994RKW
<Akuli> yeah
<Akuli> then do the -b thing
<Akuli> to get my latest dpaste
<Akuli> make sure you get something like that
<Akuli> after all that, you should see in the 'git log --blah --blah' output that "(HEAD -> akuli-test-2)" is pointing at the last commit you want to include
<Akuli> let me know when you get there
<FireFox317> Hmm my log is different, but better I think: https://pastebin.com/5xcwQsyB
<FireFox317> Yeah i think I'm there
<Akuli> this looks good to me
<Akuli> so these are the commits you want to include?
<Akuli> last 3
<FireFox317> Yes
<Akuli> hmm what is the name of your github remote
<Akuli> it seems to be 'upstream'
<Akuli> no
<Akuli> upsteram is ziglang/zig right?
<Akuli> and 'origin' is your fork?
<FireFox317> yes upstream is ziglang/zig
<FireFox317> origin my fork
<Akuli> ok
<Akuli> $ git push origin fix-git-stuff:function-sections
<Akuli> this pushes fix-git-stuff on your computer to function-sections in your fork on github
<FireFox317> Okay lemme try that
<Akuli> oh and it should refuse to do anything
<Akuli> use --force
<Akuli> at least it looks different now
<FireFox317> You are my hero!
<Akuli> ooo it fixed :D
<FireFox317> I think it's okay now
<Akuli> better than i expected
<FireFox317> Yup
<Akuli> does the "Files changed" look about right?
<Akuli> next time this happens: use my 'git log' command, check out the last commit you want to include, create a branch at that commit with the -b thing, force push that branch
<FireFox317> Jup this is exactly how it should look like
<Akuli> i'll be back after 30 minutes or something
<FireFox317> Thank you so much man, appreciate the help. And sorry for the spam in the #zig channel
marmotini_ has quit [Remote host closed the connection]
<squiddlebit> Would anyone happen to know why the name field of the inotify_event struct in std/os/bits/linux.zig is commented out? I notice a workaround was used in other stdlib code involving inotify, so I assume there is a good reason for its necessity.
st4ll1 has quit [Ping timeout: 245 seconds]
st4ll1 has joined #zig
<Akuli> squiddlebit, git blame std/os/bits/linux.zig
<squiddlebit> oh right, i did not think of that at all. Thank you Akuli
avoidr has quit [Quit: leaving]
wootehfoot has joined #zig
<companion_cube> the raytracer post makes some good points, hmm
laaron has quit [Remote host closed the connection]
<companion_cube> (esp. block return syntax and loops)
FireFox317 has quit [Ping timeout: 260 seconds]
lunamn_ has joined #zig
lunamn_ has quit [Client Quit]
lunamn has quit [Ping timeout: 248 seconds]
bheads has joined #zig
MajorLag has joined #zig
tgschultz has quit [Ping timeout: 276 seconds]
MajorLag is now known as tgschultz
darithorn has quit [Quit: Leaving]
avoidr has joined #zig
tgschultz has quit [Quit: Going offline, see ya! (www.adiirc.com)]
tgschultz has joined #zig
ajhager has quit [Ping timeout: 260 seconds]
lunamn has joined #zig
ManDeJan has joined #zig
<ManDeJan> Sahnvour, nice work on the wyhash v2 implementation :)
Akuli has quit [Quit: Leaving]
jjido has joined #zig
ManDeJan has quit [Ping timeout: 272 seconds]
jjido has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
jjido has joined #zig
jjido has quit [Client Quit]
jjido has joined #zig
fubd has joined #zig
bheads has quit [Ping timeout: 272 seconds]
wootehfoot has quit [Ping timeout: 245 seconds]
bheads has joined #zig
brakmic has joined #zig
brakmic__ has quit [Read error: Connection reset by peer]
jjido has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
marijnfs_ has quit [Quit: WeeChat 2.4]
<fubd> I see json.zig and io.zig's Deserializer in the stdlib, but has someone written a generic struct-to-json and json-back-to-struct thing?
halosghost has quit [Quit: WeeChat 2.5]
fubd has quit [Ping timeout: 260 seconds]
darithorn has joined #zig
brakmic has quit []
marijnfs_ has joined #zig
darithorn has quit [Quit: Leaving]
ltriant has joined #zig
marijnfs_ has quit [Quit: WeeChat 2.4]
avoidr has quit [Quit: leaving]