summaryrefslogtreecommitdiffstats
path: root/src/test/ui/generic-associated-types/parameter_number_and_kind.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/generic-associated-types/parameter_number_and_kind.rs')
-rw-r--r--src/test/ui/generic-associated-types/parameter_number_and_kind.rs19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/ui/generic-associated-types/parameter_number_and_kind.rs b/src/test/ui/generic-associated-types/parameter_number_and_kind.rs
new file mode 100644
index 000000000..0508cc2da
--- /dev/null
+++ b/src/test/ui/generic-associated-types/parameter_number_and_kind.rs
@@ -0,0 +1,19 @@
+#![feature(generic_associated_types)]
+#![feature(associated_type_defaults)]
+
+trait Foo {
+ type A<'a>;
+ type B<'a, 'b>;
+ type C;
+ type D<T>;
+ type E<'a, T>;
+ // Test parameters in default values
+ type FOk<T> = Self::E<'static, T>;
+ type FErr1 = Self::E<'static, 'static>;
+ //~^ ERROR this associated type takes 1 lifetime argument but 2 lifetime arguments were supplied
+ //~| ERROR this associated type takes 1
+ type FErr2<T> = Self::E<'static, T, u32>;
+ //~^ ERROR this associated type takes 1
+}
+
+fn main() {}