Open
Description
Example below. Based on the description in #76560, I'd expect to not be required to add [(); From::DIM]:
and [(); To::DIM]
bounds to Transform
because the associated consts are inherent to the trait's definition and thus are public APIs.
#![feature(generic_const_exprs)]
trait Vector {
type Scalar;
const DIM: usize;
}
struct Transform<From, To>
where
From: Vector,
To: Vector<Scalar = From::Scalar>,
{
columns: [[From::Scalar; From::DIM]; To::DIM],
}