error[E0308]: method not compatible with trait --> $DIR/issue-83765.rs:30:5 | LL | fn size(&self) -> [usize; DIM] { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Self::DIM`, found `DIM` | = note: expected type `Self::DIM` found type `DIM` error: unconstrained generic constant --> $DIR/issue-83765.rs:32:24 | LL | self.reference.size() | ^^^^ | = help: try adding a `where` bound using this expression: `where [(); Self::DIM]:` note: required by a bound in `TensorSize::size` --> $DIR/issue-83765.rs:9:31 | LL | fn size(&self) -> [usize; Self::DIM]; | ^^^^^^^^^ required by this bound in `TensorSize::size` error[E0308]: mismatched types --> $DIR/issue-83765.rs:32:9 | LL | self.reference.size() | ^^^^^^^^^^^^^^^^^^^^^ expected `DIM`, found `Self::DIM` | = note: expected type `DIM` found type `Self::DIM` error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0308`.