Généricité en Zig
En Zig, la généricité est implémentée par des fonctions qui retournent un type. C'est possible parce que les types sont des valeurs de premier ordre lors du comptime.
zig fn List(comptime T: type) type { return struct { items: []T, len: usize, }; }
const IntList = List(i32); var my_list = IntList{ .items = undefined, .len = 0 };
Cette approche est puissante et beaucoup plus simple que les templates C++ ou les generics Java.