// Regression test for issue 72154, where the use of AddressSanitizer enabled // emission of lifetime markers during codegen, while at the same time asking // always inliner pass not to insert them. This eventually lead to a // miscompilation which was subsequently detected by AddressSanitizer as UB. // //@ needs-sanitizer-support //@ needs-sanitizer-address //@ ignore-cross-compile // //@ compile-flags: -Copt-level=0 -Zsanitizer=address //@ run-pass pub struct Wrap { pub t: [usize; 1] } impl Wrap { #[inline(always)] pub fn new(t: [usize; 1]) -> Self { Wrap { t } } } #[inline(always)] pub fn assume_init() -> [usize; 1] { [1234] } fn main() { let x: [usize; 1] = assume_init(); Wrap::new(x); }