It is very easy to specialise a function in zig, you just put if(T == u8) or something like that inside the function and do w/e in there
It is very easy to specialise a function in zig, you just put if(T == u8) or something like that inside the function and do w/e in there
Can the compiler detect that and use the proper code so no test is needed at runtime?
This is Zig so I guess the answer is "yeah, duh" but wanted to ask since it sounded like the solution is less, uh, "compiler-friendly" than I would expect.
Yes, and if you're paranoid you can write
to guarantee that if you're wrong about how the compiler behaves then you'll get a compiler error.Zig has no type info at runtime so this is and always will be guaranteed to be a comptime check.
Hence the paranoia :-D
But I do think adding explicit `comptime` in places like this is reasonable for the sake of conveying intent to other programmers.