]> git.lizzy.rs Git - rust.git/blob - tests/ui/async-await/non-trivial-drop.rs
Auto merge of #107843 - bjorn3:sync_cg_clif-2023-02-09, r=bjorn3
[rust.git] / tests / ui / async-await / non-trivial-drop.rs
1 // revisions: no_drop_tracking drop_tracking drop_tracking_mir
2 // [drop_tracking] compile-flags: -Zdrop-tracking
3 // [drop_tracking_mir] compile-flags: -Zdrop-tracking-mir
4 // build-pass
5 // edition:2018
6
7 #![feature(generators)]
8
9 fn main() {
10     let _ = foo();
11 }
12
13 fn foo() {
14     || {
15         yield drop(Config {
16             nickname: NonCopy,
17             b: NonCopy2,
18         }.nickname);
19     };
20 }
21
22 #[derive(Default)]
23 struct NonCopy;
24 impl Drop for NonCopy {
25     fn drop(&mut self) {}
26 }
27
28 #[derive(Default)]
29 struct NonCopy2;
30 impl Drop for NonCopy2 {
31     fn drop(&mut self) {}
32 }
33
34 #[derive(Default)]
35 struct Config {
36     nickname: NonCopy,
37     b: NonCopy2,
38 }