about summary refs log tree commit diff
path: root/tests/ui/pattern/refutable-pattern-for-loop-15381.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/pattern/refutable-pattern-for-loop-15381.rs')
-rw-r--r--tests/ui/pattern/refutable-pattern-for-loop-15381.rs12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/ui/pattern/refutable-pattern-for-loop-15381.rs b/tests/ui/pattern/refutable-pattern-for-loop-15381.rs
new file mode 100644
index 00000000000..3c19612c9cc
--- /dev/null
+++ b/tests/ui/pattern/refutable-pattern-for-loop-15381.rs
@@ -0,0 +1,12 @@
+//! Regression test for https://github.com/rust-lang/rust/issues/15381
+
+fn main() {
+    let values: Vec<u8> = vec![1,2,3,4,5,6,7,8];
+
+    for &[x,y,z] in values.chunks(3).filter(|&xs| xs.len() == 3) {
+        //~^ ERROR refutable pattern in `for` loop binding
+        //~| NOTE patterns `&[]`, `&[_]`, `&[_, _]` and 1 more not covered
+        //~| NOTE the matched value is of type `&[u8]`
+        println!("y={}", y);
+    }
+}