News for hackers. Stuff that matters.
Re:Zig in 30 Minutes by WhoCaresLies on Sunday January 03, 2021 @05:10AM (#25620841)
so it's not a type safe language if they use anonymous struct everywhere

also why ask for a parameter when it is not needed? print vs printf in C

Re:Zig in 30 Minutes by AnIdiotOnTheNet on Sunday January 03, 2021 @10:15AM (#25622189)
Anonymous struct/tuple/array is a convenience feature that can only be used for values.

Consider the above code without it:

  std.debug.print("hello world!\n", struct{}{});
Now add a value:

  std.debug.print("{}!\n", struct{string: []const u8}{ .string = "hello world"});
Quite unwieldy. Zig used to have variadic functions and it was difficult to work with, complicated metaprogramming, and made how things work less obvious during reading. It was also pretty much only ever used for the "print" function.
Re:Zig in 30 Minutes by dnautics on Sunday January 03, 2021 @01:18PM (#25623655)
> so it's not a type safe language if they use anonymous struct everywhere

It's compile-time checked. The example shows a compile time error when the struct fields are not completed by the anonymous struct

Re:Zig in 30 Minutes by cassepipe on Sunday January 03, 2021 @06:29AM (#25621173)
printf in C makes use of variadic arguments (man 3 stdarg) which Zig does not allow (unless you are using a C function) for safety reasons.