20 lines
357 B
Rust
20 lines
357 B
Rust
|
pub trait Trait1<X> {
|
||
|
type Output;
|
||
|
}
|
||
|
|
||
|
pub trait Trait2<X> {}
|
||
|
|
||
|
pub struct A;
|
||
|
|
||
|
impl<X, T> Trait1<X> for T where T: Trait2<X> {
|
||
|
type Output = ();
|
||
|
}
|
||
|
|
||
|
impl<X> Trait1<Box<X>> for A {
|
||
|
//~^ ERROR conflicting implementations of trait
|
||
|
//~| downstream crates may implement trait `Trait2<std::boxed::Box<_>>` for type `A`
|
||
|
type Output = i32;
|
||
|
}
|
||
|
|
||
|
fn main() {}
|