mod b { pub struct A(u32); } trait Id { type Assoc; } impl Id for b::A { type Assoc = b::A; } impl Id for u32 { type Assoc = u32; } trait Trait { fn method(&self) where T: Id; } impl Trait for ::Assoc { fn method(&self) where T: Id, { let Self(a) = self; //~^ ERROR: tuple struct constructor `A` is private println!("{a}"); } } fn main() {}