mod private
{
pub trait MatWithShape< const ROWS : usize, const COLS : usize >
{
}
impl< T, const ROWS : usize, const COLS : usize > MatWithShape< ROWS, COLS > for &T
where
T : MatWithShape< ROWS, COLS >,
{
}
impl< T, const ROWS : usize, const COLS : usize > MatWithShape< ROWS, COLS > for &mut T
where
T : MatWithShape< ROWS, COLS >,
{
}
pub trait MatWithShapeMut< const ROWS : usize, const COLS : usize >
where
Self : MatWithShape< ROWS, COLS >,
{
}
impl< T, const ROWS : usize, const COLS : usize > MatWithShapeMut< ROWS, COLS > for &T
where
Self : MatWithShape< ROWS, COLS > + MatWithShapeMut< ROWS, COLS > +,
{
}
impl< T, const ROWS : usize, const COLS : usize > MatWithShapeMut< ROWS, COLS > for &mut T
where
Self : MatWithShape< ROWS, COLS > + MatWithShapeMut< ROWS, COLS >,
{
}
}
crate::mod_interface!
{
exposed use
{
MatWithShape,
MatWithShapeMut,
};
}