ChanServ changed the topic of #zig to: zig programming language | ziglang.org | be excellent to each other | channel logs: https://irclog.whitequark.org/zig/
<daurnimator> andrewrk: hooray, more copy ellision
<andrewrk> up to 500/521 behavior tests passing
kristate has joined #zig
<daurnimator> andrewrk: not many left now
<daurnimator> andrewrk: how long do you think is left?
kristate has quit [Ping timeout: 245 seconds]
<andrewrk> I was really hoping to be already done by now
<andrewrk> I think I've solved all the problems now though. hopefully. going to try to merge within 2 weeks
<andrewrk> there are a lot more tests to fix besides the behavior ones
<andrewrk> and more coverage needed. the unfortunate downside of copy elision is that it does complicate the compiler implementation quite a bit
<MajorLag> fmt parameter should just be what appears between the braces, yes.
allan0 has quit [Ping timeout: 250 seconds]
allan0 has joined #zig
zez1c has quit [Ping timeout: 245 seconds]
allan0 has quit [Ping timeout: 244 seconds]
forgot-password has joined #zig
forgot-password has quit [Ping timeout: 246 seconds]
allan0 has joined #zig
<daurnimator> andrewrk: not much going on this last week in terms of the repo
<andrewrk> daurnimator, I'm putting all my effort into finishing this branch
<daurnimator> k; slow progress I guess?
<andrewrk> yes. I pretty much had to rewrite all the compiler guts
<daurnimator> I've been watching the commits as they come through
steveno has joined #zig
shinzo has joined #zig
<andrewrk> 501 behavior tests passing is nothing to sneeze at though
steveno has quit [Quit: Leaving]
hooo has quit [Quit: Connection closed for inactivity]
kristate has joined #zig
return0e_ has joined #zig
return0e has quit [Ping timeout: 244 seconds]
Hejsil has joined #zig
<Hejsil> Hmm. I'm hitting EAGAIN writing to stderr through std.debug.warn
<Hejsil> I'll see if i can get a small test case
forgot-password has joined #zig
hooo has joined #zig
zez1c has joined #zig
steveno has joined #zig
steveno has quit [Remote host closed the connection]
steveno has joined #zig
Hejsil has quit [Ping timeout: 256 seconds]
halosghost has joined #zig
_whitelogger has joined #zig
<forgot-password> Why is the offset of a StructField an optional usize? Does it return null for the first field of a struct?
Zaab1t has joined #zig
Hejsil has joined #zig
<Hejsil> forgot-password, because 0 sized types don't have offsets
<forgot-password> Right, that makes sense
<forgot-password> Are the @memberCount/Type/Name function going to be deprecated? @typeInfo seems to be a lot easier to use when you can extract the fields from a struct/union/enum
<Hejsil> They are
<halosghost> @typeInfo is so cool
<Hejsil> I think there are even more builtins that are deprecated
THFKA4 has quit [Ping timeout: 252 seconds]
<halosghost> probably
<forgot-password> Yes, but some are marked as deprecated
<forgot-password> That's why I was wondering
Hejsil has quit [Quit: Page closed]
<forgot-password> halosghost: Indeed, my code looks a lot cleaner after replacing the @member* functions with it ^^
<MajorLag> the std.meta package is meant for that purpose. @TypeInfo gave use the ability to replace a lot of builtins and special "pseudo-fields" in unserland. Work is not yet complete. One holdup is that we can't mark a function as comptime at the declaration site so you end up having to do it at the callsite a lot, which is inconvenient. For instance: `u32.bit_count` vs `comptime meta.bitCount(u32);`
<halosghost> sure
<forgot-password> MajorLag, I already had a few encounters with std.meta.trait, where do you guys plan on going with that?
steveno has joined #zig
<MajorLag> see: https://github.com/ziglang/zig/issues/1669 which references related issues.
<MajorLag> but even without any of that it is generally useful for generic code.
powerbit has quit [Ping timeout: 272 seconds]
forgot-password has quit [Quit: leaving]
steveno_ has joined #zig
steveno has quit [Ping timeout: 268 seconds]
steveno_ has quit [Ping timeout: 258 seconds]
steveno_ has joined #zig
njd has quit [Ping timeout: 245 seconds]
Ichorio has joined #zig
njd has joined #zig
steveno_ has quit [Ping timeout: 268 seconds]
meheleventyone has joined #zig
steveno_ has joined #zig
adrusi has quit [Ping timeout: 272 seconds]
vegecode has joined #zig
meheleventyone has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<vegecode> Hello all, my lunch break is ending, but I have a question. I am trying to recreate the termios structure from <bits/termios.h> and the definition has "unsigned int" parameters. If I want portability to linux on arm, should I use the c_uint type?
<vegecode> I see that the msghdr struct in the zig std lib uses u32, while musl uses plain "int". I'm just looking for what is the most portable. It would definitely be preferable if the compiler handled that for me.
<vegecode> A pointer to the struct gets passed in a syscall so it needs to match whatever the kernel uses.
<vegecode> If you could please respond, I will check the logs when I get off of work. Also, a forum or someplace to ask questions would be nice. Maybe we should use Reddit?
vegecode has quit [Quit: WeeChat 2.2]
adrusi has joined #zig
vegecode has joined #zig
<MajorLag> c_uint is guarenteed to be whatever the native C "unsigned int" type is.
wootehfoot has joined #zig
<andrewrk> vegecode, you can use the mailing list: https://lists.sr.ht/~andrewrk/ziglang
<andrewrk> you can also use stack overflow with the zig tag
<vegecode> thanks
<MajorLag> ugh, it's a real pain that empty errorsets don't count for inferrence. actually, I'm finding I spend a lot more time dealing with the limitations of error sets than I ever get use out of them. Could just be because of all the code I'm breaking in std right now.
<vegecode> is it good practice though? the std library hard codes it. if I'm making the termios libc file, i might as well do it right so it can be part of that issue to have a full libc replacement
<andrewrk> MajorLag, I want to change how empty error sets are handled
<andrewrk> there are a few things that can be better
<MajorLag> Yeah. I thought I could clean up some of this error set stuff in the Stream interfaces, but the empty error set thing is just making it worse.
wootehfoot has quit [Read error: Connection reset by peer]
<andrewrk> I consider the design flaw demonstrated by streams to be a 1.0-blocking problem
<andrewrk> the design flaw with error sets
<andrewrk> I don't have a plan for this release or even the next, but it's a huge problem
steveno_ has quit [Quit: Leaving]
zez2c has joined #zig
zez1c has quit [Ping timeout: 258 seconds]
daurnimator has quit [Ping timeout: 252 seconds]
kristate has quit [Remote host closed the connection]
halosghost has quit [Quit: WeeChat 2.3]
<MajorLag> Streams actually aren't a problem under the new pattern, except for the inferrence not working on empty errorsets. You either take var and infer the errors or you take InStream/OutStream and errors are anyerror. The one exception I've found is in queue, which has a recursive inner function that can't be inferred.
<andrewrk> MajorLag, interesting, I see. I'll take a closer look at that soon
Ichorio has quit [Ping timeout: 268 seconds]
darithorn has joined #zig
daurnimator has joined #zig