about summary refs log tree commit diff
path: root/tests/ui/error-codes/E0401.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/error-codes/E0401.rs')
-rw-r--r--tests/ui/error-codes/E0401.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/ui/error-codes/E0401.rs b/tests/ui/error-codes/E0401.rs
new file mode 100644
index 00000000000..8f8d6b87ef2
--- /dev/null
+++ b/tests/ui/error-codes/E0401.rs
@@ -0,0 +1,32 @@
+trait Baz<T> {}
+
+fn foo<T>(x: T) {
+    fn bfnr<U, V: Baz<U>, W: Fn()>(y: T) { //~ ERROR E0401
+    }
+    fn baz<U,
+           V: Baz<U>,
+           W: Fn()>
+           (y: T) { //~ ERROR E0401
+    }
+    bfnr(x);
+    //~^ ERROR type annotations needed
+    //~| ERROR type annotations needed
+}
+
+
+struct A<T> {
+    inner: T,
+}
+
+impl<T> Iterator for A<T> {
+    type Item = u8;
+    fn next(&mut self) -> Option<u8> {
+        fn helper(sel: &Self) -> u8 { //~ ERROR E0401
+            unimplemented!();
+        }
+        Some(helper(self))
+    }
+}
+
+fn main() {
+}