This is an important change for the generic use of a pixel type since the N parameter is a leaky abstraction that should be inherent to each particular pixel.
This PR fixes that using another generic associated type for storing the fixed compile-time sized array type.
The drawback is that since we no-longer know the array size in the trait itself we can't provide default implementations, but I don't think that's much of a drawback as they are easy enough to implement on each type, especially with macros in case it gets repetitive like in 0.8.
This is an important change for the generic use of a pixel type since the
N
parameter is a leaky abstraction that should be inherent to each particular pixel.This PR fixes that using another generic associated type for storing the fixed compile-time sized array type.
The drawback is that since we no-longer know the array size in the trait itself we can't provide default implementations, but I don't think that's much of a drawback as they are easy enough to implement on each type, especially with macros in case it gets repetitive like in
0.8
.