| 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() {} |