//@ known-bug: #124340 | |
#![feature(anonymous_lifetime_in_impl_trait)] | |
trait Producer { | |
type Output; | |
fn produce(self) -> Self::Output; | |
} | |
trait SomeTrait<'a> {} | |
fn force_same_lifetime<'a>(_x: &'a i32, _y: impl SomeTrait<'a>) { | |
unimplemented!() | |
} | |
fn foo<'a>(s: &'a i32, producer: impl Producer<Output: SomeTrait<'_>>) { | |
force_same_lifetime(s, producer.produce()); | |
} |