summaryrefslogtreecommitdiffstats
path: root/src/test/ui/async-await/argument-patterns.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/async-await/argument-patterns.rs')
-rw-r--r--src/test/ui/async-await/argument-patterns.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/async-await/argument-patterns.rs b/src/test/ui/async-await/argument-patterns.rs
new file mode 100644
index 000000000..b9fc1a88c
--- /dev/null
+++ b/src/test/ui/async-await/argument-patterns.rs
@@ -0,0 +1,28 @@
+// edition:2018
+// check-pass
+
+#![deny(unused_mut)]
+
+type A = Vec<u32>;
+
+async fn a(n: u32, mut vec: A) {
+ vec.push(n);
+}
+
+async fn b(n: u32, ref mut vec: A) {
+ vec.push(n);
+}
+
+async fn c(ref vec: A) {
+ vec.contains(&0);
+}
+
+async fn d((a, mut b): (A, A)) {
+ b.push(1);
+}
+
+async fn f((ref mut a, ref b): (A, A)) {}
+
+async fn g(((ref a, ref mut b), (ref mut c, ref d)): ((A, A), (A, A))) {}
+
+fn main() {}