]> git.proxmox.com Git - rustc.git/blob - src/test/mir-opt/remove_unneeded_drops.rs
New upstream version 1.48.0~beta.8+dfsg1
[rustc.git] / src / test / mir-opt / remove_unneeded_drops.rs
1 // ignore-wasm32-bare compiled with panic=abort by default
2 // EMIT_MIR remove_unneeded_drops.opt.RemoveUnneededDrops.diff
3 fn opt(x: bool) {
4 drop(x);
5 }
6
7 // EMIT_MIR remove_unneeded_drops.dont_opt.RemoveUnneededDrops.diff
8 fn dont_opt(x: Vec<bool>) {
9 drop(x);
10 }
11
12 // EMIT_MIR remove_unneeded_drops.opt_generic_copy.RemoveUnneededDrops.diff
13 fn opt_generic_copy<T: Copy>(x: T) {
14 drop(x);
15 }
16
17 // EMIT_MIR remove_unneeded_drops.cannot_opt_generic.RemoveUnneededDrops.diff
18 // since the pass is not running on monomorphisized code,
19 // we can't (but probably should) optimize this
20 fn cannot_opt_generic<T>(x: T) {
21 drop(x);
22 }
23
24 fn main() {
25 opt(true);
26 opt_generic_copy(42);
27 cannot_opt_generic(42);
28 dont_opt(vec![true]);
29 }