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() {} |