Create a box:
cargo new --lib constenum
Src / lib.rs
pub enum MyEnum {
ONE = 1,
TWO = 2,
}
pub const CRATE_ONE: u16 = MyEnum::ONE as u16;
pub const CRATE_TWO: u16 = MyEnum::TWO as u16;
tests /lib.rs
extern crate constenum;
#[test]
fn f() {
let test_x = [0; constenum::CRATE_TWO as usize];
}
If I put the same code in examples / main.rs , which is very similar to tests but does not use a box, it succeeds:
pub enum ExampleEnum {
ONE = 1,
TWO = 2,
}
pub const EXAMPLE_ONE: u16 = ExampleEnum::ONE as u16;
pub const EXAMPLE_TWO: u16 = ExampleEnum::TWO as u16;
fn main() {
let example_x = [0; EXAMPLE_TWO as usize];
}
source
share