// Coherence error results because we do not know whether `T: Foo<P>` or not | |
// for the second impl. | |
use std::marker::PhantomData; | |
pub trait Foo<P> { fn foo() {} } | |
impl <P, T: Foo<P>> Foo<P> for Option<T> {} | |
impl<T, U> Foo<T> for Option<U> { } | |
//~^ ERROR E0119 | |
fn main() {} |