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