diff options
Diffstat (limited to 'src/test/ui/regions/regions-infer-bound-from-trait-self.rs')
-rw-r--r-- | src/test/ui/regions/regions-infer-bound-from-trait-self.rs | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/src/test/ui/regions/regions-infer-bound-from-trait-self.rs b/src/test/ui/regions/regions-infer-bound-from-trait-self.rs deleted file mode 100644 index d15bfffe9..000000000 --- a/src/test/ui/regions/regions-infer-bound-from-trait-self.rs +++ /dev/null @@ -1,51 +0,0 @@ -// Test that we can derive lifetime bounds on `Self` from trait -// inheritance. - -trait Static : 'static { } - -trait Is<'a> : 'a { } - -struct Inv<'a> { - x: Option<&'a mut &'a isize> -} - -fn check_bound<'a,A:'a>(x: Inv<'a>, a: A) { } - -// In these case, `Self` inherits `'static`. - -trait InheritsFromStatic : Sized + 'static { - fn foo1<'a>(self, x: Inv<'a>) { - check_bound(x, self) - } -} -trait InheritsFromStaticIndirectly : Sized + Static { - fn foo1<'a>(self, x: Inv<'a>) { - check_bound(x, self) - } -} - - -// In these case, `Self` inherits `'a`. - -trait InheritsFromIs<'a> : Sized + 'a { - fn foo(self, x: Inv<'a>) { - check_bound(x, self) - } -} - -trait InheritsFromIsIndirectly<'a> : Sized + Is<'a> { - fn foo(self, x: Inv<'a>) { - check_bound(x, self) - } -} - -// In this case, `Self` inherits nothing. - -trait InheritsFromNothing<'a> : Sized { - fn foo(self, x: Inv<'a>) { - check_bound(x, self) - //~^ ERROR parameter type `Self` may not live long enough - } -} - -fn main() { } |