diff options
Diffstat (limited to 'tests/ui/where-clauses/where-for-self.rs')
-rw-r--r-- | tests/ui/where-clauses/where-for-self.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/ui/where-clauses/where-for-self.rs b/tests/ui/where-clauses/where-for-self.rs new file mode 100644 index 000000000..9380e72cd --- /dev/null +++ b/tests/ui/where-clauses/where-for-self.rs @@ -0,0 +1,19 @@ +// Test that we can quantify lifetimes outside a constraint (i.e., including +// the self type) in a where clause. Specifically, test that we cannot nest +// quantification in constraints (to be clear, there is no reason this should not +// we're testing we don't crash or do something stupid). + +trait Bar<'a> { + fn bar(&self); +} + +impl<'a, 'b> Bar<'b> for &'a u32 { + fn bar(&self) {} +} + +fn foo<T>(x: &T) + where for<'a> &'a T: for<'b> Bar<'b> + //~^ error: nested quantification of lifetimes +{} + +fn main() {} |