make c_enum use primitive repr
parent
6ee6140ba8
commit
ee35332b23
|
@ -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))
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue