SIGN IN SIGN UP
rust-lang / rust UNCLAIMED

Empowering everyone to build reliable and efficient software.

0 0 63 Rust

Rollup merge of #145277 - dingxiangfei2009:fold-coercion-into-const, r=nnethercote

Do not materialise X in [X; 0] when X is unsizing a const

Fix rust-lang/rust#143671

It turns out that MIR builder materialise `X` in `[X; 0]` into a temporary local when `X` is unsizing a `const`. This led to a confusing call to destructor of `X` when such a destructor is declared. [Playground](https://play.rust-lang.org/?version=nightly&mode=debug&edition=2024&gist=8dfc933af89efeb89c881bc77498ba63)

This patch may miss out other cases that we should avoid materialisation in case of `[X; 0]`. Suggestions to include is most welcome!
S
Stuart Cook committed
21b0e12e0140604150e5a2d4cf93fe2cac8f552f
Committed by GitHub <noreply@github.com> on 9/25/2025, 10:31:52 AM