// run-pass // Repeating a *constant* of non-Copy type (not just a constant expression) is already stable. const EMPTY: Vec = Vec::new(); pub fn bar() -> [Vec; 2] { [EMPTY; 2] } struct Bomb; impl Drop for Bomb { fn drop(&mut self) { panic!("BOOM!"); } } const BOOM: Bomb = Bomb; fn main() { let _x = bar(); // Make sure the destructor does not get called for empty arrays. `[CONST; N]` should // instantiate (and then later drop) the const exactly `N` times. let _x = [BOOM; 0]; }