rust/tests/ui/mir/issue-76248.rs

30 lines
467 B
Rust

// This used to ICE during codegen after MIR inlining of g into f.
// The root cause was a missing fold of length constant in Rvalue::Repeat.
// Regression test for #76248.
//
//@ build-pass
//@ compile-flags: -Zmir-opt-level=3
const N: usize = 1;
pub struct Elem<M> {
pub x: [usize; N],
pub m: M,
}
pub fn f() -> Elem<()> {
g(())
}
#[inline]
pub fn g<M>(m: M) -> Elem<M> {
Elem {
x: [0; N],
m,
}
}
pub fn main() {
f();
}