rust/tests/ui/issues/issue-25810.rs

29 lines
394 B
Rust

//@ run-pass
fn main() {
let x = X(15);
let y = x.foo();
println!("{:?}",y);
}
trait Foo
where for<'a> &'a Self: Bar
{
fn foo<'a>(&'a self) -> <&'a Self as Bar>::Output;
}
trait Bar {
type Output;
}
struct X(i32);
impl<'a> Bar for &'a X {
type Output = &'a i32;
}
impl Foo for X {
fn foo<'a>(&'a self) -> <&'a Self as Bar>::Output {
&self.0
}
}