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

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

29 lines
393 B
Rust
Raw Normal View History

// 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
}
}