mirror of https://github.com/rust-lang/rust
18 lines
752 B
Rust
18 lines
752 B
Rust
trait Mul<T> {
|
|
type Output;
|
|
}
|
|
trait Matrix: Mul<<Self as Matrix>::Row, Output = ()> {
|
|
type Row;
|
|
type Transpose: Matrix<Row = Self::Row>;
|
|
}
|
|
fn is_mul<S, T: Mul<S, Output = ()>>() {}
|
|
fn f<T: Matrix>() {
|
|
is_mul::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<
|
|
f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<
|
|
f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<
|
|
f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::
|
|
<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<f::<>();
|
|
//~^ ERROR expected one of `!`, `+`, `,`, `::`, or `>`, found `(`
|
|
}
|
|
fn main() {}
|