diff --git a/src/macros.rs b/src/macros.rs index 12d3ab4b595ca..8d289f376f4d1 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -218,11 +218,12 @@ macro_rules! e { /// purpose is to calculate the correct enum values. /// /// See for more. +// FIXME(ctest): ctest doesn't recognize the `literal` fragment specifier. macro_rules! c_enum { ( $(#[repr($repr:ty)])? $ty_name:ident { - $($variant:ident $(= $value:literal)?,)+ + $($variant:ident $(= $value:expr /* literal */)?,)+ } ) => { pub type $ty_name = c_enum!(@ty $($repr)?); @@ -233,7 +234,7 @@ macro_rules! c_enum { (@one; $_ty_name:ident; $_idx:expr;) => {}; ( @one; $ty_name:ident; $default_val:expr; - $variant:ident $(= $value:literal)?, + $variant:ident $(= $value:expr /* literal */)?, $($tail:tt)* ) => { pub const $variant: $ty_name = {