summaryrefslogtreecommitdiffstats
path: root/tests/ui/higher-rank-trait-bounds/due-to-where-clause.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/higher-rank-trait-bounds/due-to-where-clause.rs')
-rw-r--r--tests/ui/higher-rank-trait-bounds/due-to-where-clause.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/ui/higher-rank-trait-bounds/due-to-where-clause.rs b/tests/ui/higher-rank-trait-bounds/due-to-where-clause.rs
new file mode 100644
index 000000000..1afd15613
--- /dev/null
+++ b/tests/ui/higher-rank-trait-bounds/due-to-where-clause.rs
@@ -0,0 +1,13 @@
+fn main() {
+ test::<FooS>(&mut 42); //~ ERROR implementation of `Foo` is not general enough
+}
+
+trait Foo<'a> {}
+
+struct FooS<'a> {
+ data: &'a mut u32,
+}
+
+impl<'a, 'b: 'a> Foo<'b> for FooS<'a> {}
+
+fn test<'a, F>(data: &'a mut u32) where F: for<'b> Foo<'b> {}