about summary refs log tree commit diff
path: root/src/test/ui/async-await/argument-patterns.rs
blob: 0e42f48b8351e90ff7e081ff3a85abbf22d8f901 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// edition:2018
// run-pass

#![allow(unused_variables)]
#![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() {}