pub trait IntoArrayLength {
    type ArrayLength: ArrayLength;
}
Expand description

Implemented for types which can have an associated ArrayLength, such as Const<N> for use with const-generics.

use generic_array::{GenericArray, IntoArrayLength, ConstArrayLength, typenum::Const};

fn some_array_interopt<const N: usize>(value: [u32; N]) -> GenericArray<u32, ConstArrayLength<N>>
where
    Const<N>: IntoArrayLength,
{
    let ga = GenericArray::from(value);
    // do stuff
    ga
}

This is mostly to simplify the where bounds, equivalent to:

use generic_array::{GenericArray, ArrayLength, typenum::{Const, U, ToUInt}};

fn some_array_interopt<const N: usize>(value: [u32; N]) -> GenericArray<u32, U<N>>
where
    Const<N>: ToUInt,
    U<N>: ArrayLength,
{
    let ga = GenericArray::from(value);
    // do stuff
    ga
}

Required Associated Types§

source

type ArrayLength: ArrayLength

The associated ArrayLength

Implementations on Foreign Types§

source§

impl<const N: usize> IntoArrayLength for Const<N>
where Const<N>: ToUInt, U<N>: ArrayLength,

Implementors§

source§

impl<N> IntoArrayLength for N
where N: ArrayLength,

§

type ArrayLength = N