make c_enum use primitive repr

gui-branch
an 2019-03-18 12:08:49 -04:00
parent 6ee6140ba8
commit ee35332b23
1 changed files with 5 additions and 4 deletions

View File

@ -36,16 +36,17 @@ macro_rules! c_enum
{
(
$(#[$outer:meta])*
$vi:vis enum $t:ident: $ti:ty
$vi:vis enum $t:ident: $ti:ident
{
$($(#[$inner:meta])* $va:expr => $en:ident,)+
$($va:expr => $en:ident,)+
}
) => {
$(#[$outer])*
#[repr($ti)]
#[derive(Copy, Clone, Eq, Ord, PartialEq, PartialOrd)]
$vi enum $t
{
$($en,)+
$($en = $va,)+
}
impl $t
@ -54,7 +55,7 @@ macro_rules! c_enum
$vi fn from_repr(n: $ti) -> Result<Self, ReprError>
{
match n {
$($(#[$inner])* $va => Ok($t::$en),)+
$($va => Ok($t::$en),)+
n => Err(ReprError::new(n))
}
}