#![feature(core_intrinsics)] | |
extern crate core; | |
use core::intrinsics::discriminant_value; | |
#[repr(usize)] | |
enum MyWeirdOption<T> { | |
None = 0, | |
Some(T) = std::mem::size_of::<T>(), | |
//~^ ERROR generic parameters may not be used in enum discriminant values | |
} | |
fn main() { | |
assert_eq!(discriminant_value(&MyWeirdOption::<u8>::None), 0); | |
assert_eq!(discriminant_value(&MyWeirdOption::Some(0u8)), 1); | |
} |