//@ known-bug: #122710 use std::marker::PhantomData; pub trait BarTrait { fn bar(self, _: T); } impl BarTrait for F { fn bar(self, _: T) { } } impl MyTrait<'a>> BarTrait for () { fn bar(self, _: T) { } } pub trait MyTrait<'a> { } impl<'a> MyTrait<'a> for PhantomData<&'a ()> { } fn foo() { ().bar(PhantomData); } pub fn main() {}