Zero
is a trait for defining the zoor method,
zero-or-override, defining a method that returns
the default/zero value for a given type.
The Zero
trait defines a way for a type to
return the zero, or default, value of itself.
This is used within the struct_gen!
macro's constructor
generation method to construct a base struct type with
default values. Ultimately, there will be a way to take
an input and override these values, but for now only
a default is implemented.
In order for a user to make a custom type compatible
with the struct_gen!
macro, they will need to implement
this trait -- done easily with the impl_zero!
macro.
The Item here will be defined to be the same type as
the trait that is implementing it.
zoor stands for zero or overide