]> git.proxmox.com Git - rustc.git/blame - src/test/ui/pattern/move-ref-patterns/move-ref-patterns-closure-captures-pass.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / ui / pattern / move-ref-patterns / move-ref-patterns-closure-captures-pass.rs
CommitLineData
74b04a01
XL
1// check-pass
2
74b04a01
XL
3fn main() {
4 struct U;
5 fn accept_fn_once(_: impl FnOnce()) {}
6 fn accept_fn_mut(_: impl FnMut()) {}
7 fn accept_fn(_: impl Fn()) {}
8
9 let mut tup = (U, U, U);
10 let (ref _x0, _x1, ref mut _x2) = tup;
11 let c1 = || {
12 drop::<&U>(_x0);
13 drop::<U>(_x1);
14 drop::<&mut U>(_x2);
15 };
16 accept_fn_once(c1);
17
18 let c2 = || {
19 drop::<&U>(_x0);
20 drop::<&mut U>(_x2);
21 };
22 accept_fn_mut(c2);
23
24 let c3 = || {
25 drop::<&U>(_x0);
26 };
27 accept_fn(c3);
28}