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<T> { | |
fn method(&self) | |
where | |
T: Id<Assoc = b::A>; | |
} | |
impl<T: Id> Trait<T> for <T as Id>::Assoc { | |
fn method(&self) | |
where | |
T: Id<Assoc = b::A>, | |
{ | |
let Self(a) = self; | |
//~^ ERROR: tuple struct constructor `A` is private | |
println!("{a}"); | |
} | |
} | |
fn main() {} |