#![feature(core_intrinsics)] extern crate core; use core::intrinsics::discriminant_value; #[repr(usize)] enum MyWeirdOption { //~^ ERROR parameter `T` is never used None = 0, Some = std::mem::size_of::(), //~^ ERROR generic parameters may not be used in const operations } fn main() { assert_eq!(discriminant_value(&MyWeirdOption::::None), 0); assert_eq!(discriminant_value(&MyWeirdOption::::Some), 1); }