about summary refs log tree commit diff
path: root/tests/ui/generics/generic-impl-more-params-with-defaults.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/generics/generic-impl-more-params-with-defaults.rs')
-rw-r--r--tests/ui/generics/generic-impl-more-params-with-defaults.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/ui/generics/generic-impl-more-params-with-defaults.rs b/tests/ui/generics/generic-impl-more-params-with-defaults.rs
new file mode 100644
index 00000000000..a283323742a
--- /dev/null
+++ b/tests/ui/generics/generic-impl-more-params-with-defaults.rs
@@ -0,0 +1,15 @@
+use std::marker;
+
+struct Heap;
+
+struct Vec<T, A = Heap>(
+    marker::PhantomData<(T,A)>);
+
+impl<T, A> Vec<T, A> {
+    fn new() -> Vec<T, A> {Vec(marker::PhantomData)}
+}
+
+fn main() {
+    Vec::<isize, Heap, bool>::new();
+    //~^ ERROR this struct takes at most 2 generic arguments but 3 generic arguments were supplied
+}