RustCrypto / hybrid-array

Hybrid typenum/const generic arrays
Apache License 2.0
9 stars 8 forks source link

Remove `ArrayOps` and `SliceOps` #30

Closed tarcieri closed 9 months ago

tarcieri commented 9 months ago

After #24, #25, and #26, these traits don't really need to exist and have largely been replaced by safe type conversions with appropriate bounds.

In lieu of ArrayOps<T, N> we instead can use U: ArraySize<ArrayType<T> = [T; N]>> as a bound, which albeit a bit more verbose concretely describes the inner type of Array to the compiler.

The cast_slice_(to|from)_core(_mut) methods previously defined on the trait have been preserved, but as static methods of Array, making the change largely a drop in replacement. Places where they were being called as e.g. ArrayOps::cast_slice_to_core just need to be called as Array::cast_slice_to_core instead.