]>
Commit | Line | Data |
---|---|---|
74b04a01 XL |
1 | // check-pass |
2 | ||
74b04a01 XL |
3 | fn 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 | } |