blob: da1bae1be8d4eeebf07800a3cc4a7ef48fc2b1f8 [file] [log] [blame]
// run-pass
#![allow(unused)]
#![feature(const_in_array_repeat_expressions)]
// Some type that is not copyable.
struct Bar;
const fn type_no_copy() -> Option<Bar> {
None
}
const fn type_copy() -> u32 {
3
}
const _: [u32; 2] = [type_copy(); 2];
// This is allowed because all promotion contexts use the explicit rules for promotability when
// inside an explicit const context.
const _: [Option<Bar>; 2] = [type_no_copy(); 2];
fn main() {}