| //@ run-pass | |
| #![allow(dead_code)] | |
| // Regression test for #41849. | |
| use std::ops::Mul; | |
| const C: usize = 1; | |
| const CAPACITY: usize = 1 * C; | |
| struct A<X> { | |
| f: [X; CAPACITY], | |
| } | |
| struct B<T> { | |
| f: T, | |
| } | |
| impl<T> Mul for B<T> { | |
| type Output = Self; | |
| fn mul(self, _rhs: B<T>) -> Self::Output { | |
| self | |
| } | |
| } | |
| impl<T> Mul<usize> for B<T> { | |
| type Output = Self; | |
| fn mul(self, _rhs: usize) -> Self::Output { | |
| self | |
| } | |
| } | |
| fn main() { | |
| let a = A { f: [1] }; | |
| let _ = B { f: a }; | |
| } |