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