Trait ArrayMulOuter

Source
pub trait ArrayMulOuter<T, const N: usize>: Array + AsSlice<Item = T> {
    // Required methods
    const fn mul_outer<Rhs, const M: usize>(
        &self,
        rhs: &Rhs,
    ) -> [[<T as Mul<Rhs::Elem>>::Output; M]; N]
       where T: Mul<Rhs::Elem> + Copy,
             Rhs: ArrayForm<M, Elem: Copy>;
    const async fn mul_outer_async<Rhs, const M: usize>(
        &self,
        rhs: &Rhs,
    ) -> [[<T as Mul<Rhs::Elem>>::Output; M]; N]
       where T: Mul<Rhs::Elem> + Copy,
             Rhs: ArrayForm<M, Elem: Copy>;
}

Required Methods§

Source

const fn mul_outer<Rhs, const M: usize>( &self, rhs: &Rhs, ) -> [[<T as Mul<Rhs::Elem>>::Output; M]; N]
where T: Mul<Rhs::Elem> + Copy, Rhs: ArrayForm<M, Elem: Copy>,

Source

const async fn mul_outer_async<Rhs, const M: usize>( &self, rhs: &Rhs, ) -> [[<T as Mul<Rhs::Elem>>::Output; M]; N]
where T: Mul<Rhs::Elem> + Copy, Rhs: ArrayForm<M, Elem: Copy>,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<T, const N: usize> ArrayMulOuter<T, N> for [T; N]

Source§

fn mul_outer<Rhs, const M: usize>( &self, rhs: &Rhs, ) -> [[<T as Mul<Rhs::Elem>>::Output; M]; N]
where T: Mul<Rhs::Elem> + Copy, Rhs: ArrayForm<M, Elem: Copy>,

Source§

async fn mul_outer_async<Rhs, const M: usize>( &self, rhs: &Rhs, ) -> [[<T as Mul<Rhs::Elem>>::Output; M]; N]
where T: Mul<Rhs::Elem> + Copy, Rhs: ArrayForm<M, Elem: Copy>,

Implementors§