consistency
parent
f3e98c0c05
commit
7d0dc07e0b
|
@ -6,8 +6,8 @@
|
||||||
/// The syntax is similar to the `bitflags` macro, but each value has the
|
/// The syntax is similar to the `bitflags` macro, but each value has the
|
||||||
/// syntax `value => enumeration`. `enum` is used instead of `struct`.
|
/// syntax `value => enumeration`. `enum` is used instead of `struct`.
|
||||||
///
|
///
|
||||||
/// This will generate an `enum E` as well as a function `E::from_repr` which
|
/// This will generate an `enum $t` as well as a function `$t::from_repr` which
|
||||||
/// will return `Result<E, ReprError>`.
|
/// will return `Result<$t, ReprError>`.
|
||||||
///
|
///
|
||||||
/// # Examples
|
/// # Examples
|
||||||
///
|
///
|
||||||
|
@ -36,26 +36,26 @@ macro_rules! c_enum
|
||||||
{
|
{
|
||||||
(
|
(
|
||||||
$(#[$outer:meta])*
|
$(#[$outer:meta])*
|
||||||
$V:vis enum $E:ident: $T:ty
|
$vi:vis enum $t:ident: $ti:ty
|
||||||
{
|
{
|
||||||
$($value:expr => $Enum:ident,)+
|
$($va:expr => $en:ident,)+
|
||||||
}
|
}
|
||||||
) => {
|
) => {
|
||||||
$(#[$outer])*
|
$(#[$outer])*
|
||||||
#[derive(Copy, Clone)]
|
#[derive(Copy, Clone)]
|
||||||
$V enum $E
|
$vi enum $t
|
||||||
{
|
{
|
||||||
$($Enum,)+
|
$($en,)+
|
||||||
}
|
}
|
||||||
|
|
||||||
impl $E
|
impl $t
|
||||||
{
|
{
|
||||||
/// Returns, if representable, the variant of `Self` from `n`.
|
/// Returns, if representable, the variant of `Self` from `n`.
|
||||||
$V fn from_repr(n: $T) -> Result<Self, ReprError>
|
$vi fn from_repr(n: $ti) -> Result<Self, ReprError>
|
||||||
{
|
{
|
||||||
match n {
|
match n {
|
||||||
$($value => Ok($E::$Enum),)+
|
$($va => Ok($t::$en),)+
|
||||||
n => Err(ReprError::new(n))
|
n => Err(ReprError::new(n))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue