This crate implements a structure that can be used as a generic array type.use
Core Rust array types [T; N]
can't be used generically with respect to N
, so for example this:
struct Foo<T, N> {
data: [T; N]
}
won't work.
generic-array exports a GenericArray<T,N>
type, which lets the above be implemented as:
struct Foo<T, N: ArrayLength<T>> {
data: GenericArray<T,N>
}
The ArrayLength<T>
trait is implemented by default for tuples consisting of binary structs _1
and _0
, like ((_1, _0), _1)
.
This allows one to define length types as, for example, type _6 = ((_1, _1), _0)
.
Currently, the crate implements its own numeric types. This might change in the future.