]> git.lizzy.rs Git - rust.git/blob - tests/mir-opt/remove_unneeded_drops.rs
Rollup merge of #106446 - bzEq:fix-unwind-lsda, r=Amanieu
[rust.git] / tests / 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 }