mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-24 07:44:10 +00:00
34 lines
476 B
Rust
34 lines
476 B
Rust
|
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() {}
|