//@ compile-flags: -C opt-level=3 | |
#![crate_type = "lib"] | |
// Regression test for issue 97217 (the following should result in no allocations) | |
// CHECK-LABEL: @issue97217 | |
#[no_mangle] | |
pub fn issue97217() -> i32 { | |
// drop_in_place should be inlined and never appear | |
// CHECK-NOT: drop_in_place | |
// __rust_alloc should be optimized out | |
// CHECK-NOT: __rust_alloc | |
let v1 = vec![5, 6, 7]; | |
let v1_iter = v1.iter(); | |
let total: i32 = v1_iter.sum(); | |
println!("{}", total); | |
total | |
} |