// With the upgrade to LLVM 16, the following error appeared when using // link-time-optimization (LTO) alloc and debug compilation mode simultaneously: // // error: Cannot represent a difference across sections // // The error stemmed from DI function definitions under type scopes, fixed by // only declaring in type scope and defining the subprogram elsewhere. // This test reproduces the circumstances that caused the error to appear, and checks // that compilation is successful. //@ check-pass //@ compile-flags: --test -C debuginfo=2 -C lto=fat //@ incremental extern crate alloc; #[cfg(test)] mod tests { #[test] fn something_alloc() { assert_eq!(Vec::::new(), Vec::::new()); } }