|
|
|
|
|
by stateoff
2755 days ago
|
|
I think Andy refers to this [1]. For example you can do: const std = @import("std");
fn Int(comptime value: i32) type {
return struct {
pub fn value() i32 {
return value;
}
};
}
pub fn main() anyerror!void {
const int3 = Int(3);
const int4 = Int(4);
std.debug.warn("Types: {} {}\n", @typeName(int3), @typeName(int4));
std.debug.warn("Sum: {}\n", int3.value() + int4.value());
}
Output being: Types: Int(3) Int(4)
Sum: 7
Edit: The compiler does the right thing:[2] https://godbolt.org/z/eLWeU2 [1] https://ziglang.org/documentation/master/#Generic-Data-Struc... |
|