// run-pass pub trait Foo<T> { fn foo(self) -> T; } impl<'a, T> Foo<T> for &'a str where &'a str: Into<T> { fn foo(self) -> T { panic!(); } } fn main() {}