diff options
Diffstat (limited to 'src/test/ui/self/where-for-self.rs')
-rw-r--r-- | src/test/ui/self/where-for-self.rs | 51 |
1 files changed, 0 insertions, 51 deletions
diff --git a/src/test/ui/self/where-for-self.rs b/src/test/ui/self/where-for-self.rs deleted file mode 100644 index 76c592dc4..000000000 --- a/src/test/ui/self/where-for-self.rs +++ /dev/null @@ -1,51 +0,0 @@ -// run-pass -// Test that we can quantify lifetimes outside a constraint (i.e., including -// the self type) in a where clause. - - -static mut COUNT: u32 = 1; - -trait Bar<'a> { - fn bar(&self); -} - -trait Baz<'a> -{ - fn baz(&self); -} - -impl<'a, 'b> Bar<'b> for &'a u32 { - fn bar(&self) { - unsafe { COUNT *= 2; } - } -} - -impl<'a, 'b> Baz<'b> for &'a u32 { - fn baz(&self) { - unsafe { COUNT *= 3; } - } -} - -// Test we can use the syntax for HRL including the self type. -fn foo1<T>(x: &T) - where for<'a, 'b> &'a T: Bar<'b> -{ - x.bar() -} - -// Test we can quantify multiple bounds (i.e., the precedence is sensible). -fn foo2<T>(x: &T) - where for<'a, 'b> &'a T: Bar<'b> + Baz<'b> -{ - x.baz(); - x.bar() -} - -fn main() { - let x = 42; - foo1(&x); - foo2(&x); - unsafe { - assert_eq!(COUNT, 12); - } -} |