// compile-flags: -C opt-level=3 // ignore-debug: the debug assertions get in the way // min-llvm-version: 17.0.2 #![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 }