Move macro enum_from_u32 to rustc_data_structures.
This commit is contained in:
parent
3f32e3001e
commit
60aaf90834
2 changed files with 38 additions and 37 deletions
|
@ -1,40 +1,3 @@
|
||||||
macro_rules! enum_from_u32 {
|
|
||||||
($(#[$attr:meta])* pub enum $name:ident {
|
|
||||||
$($variant:ident = $e:expr,)*
|
|
||||||
}) => {
|
|
||||||
$(#[$attr])*
|
|
||||||
pub enum $name {
|
|
||||||
$($variant = $e),*
|
|
||||||
}
|
|
||||||
|
|
||||||
impl $name {
|
|
||||||
pub fn from_u32(u: u32) -> Option<$name> {
|
|
||||||
$(if u == $name::$variant as u32 {
|
|
||||||
return Some($name::$variant)
|
|
||||||
})*
|
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
($(#[$attr:meta])* pub enum $name:ident {
|
|
||||||
$($variant:ident,)*
|
|
||||||
}) => {
|
|
||||||
$(#[$attr])*
|
|
||||||
pub enum $name {
|
|
||||||
$($variant,)*
|
|
||||||
}
|
|
||||||
|
|
||||||
impl $name {
|
|
||||||
pub fn from_u32(u: u32) -> Option<$name> {
|
|
||||||
$(if u == $name::$variant as u32 {
|
|
||||||
return Some($name::$variant)
|
|
||||||
})*
|
|
||||||
None
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#[macro_export]
|
#[macro_export]
|
||||||
macro_rules! bug {
|
macro_rules! bug {
|
||||||
() => ( bug!("impossible case reached") );
|
() => ( bug!("impossible case reached") );
|
||||||
|
|
|
@ -17,3 +17,41 @@ macro_rules! static_assert_size {
|
||||||
const _: [(); $size] = [(); ::std::mem::size_of::<$ty>()];
|
const _: [(); $size] = [(); ::std::mem::size_of::<$ty>()];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[macro_export]
|
||||||
|
macro_rules! enum_from_u32 {
|
||||||
|
($(#[$attr:meta])* pub enum $name:ident {
|
||||||
|
$($variant:ident = $e:expr,)*
|
||||||
|
}) => {
|
||||||
|
$(#[$attr])*
|
||||||
|
pub enum $name {
|
||||||
|
$($variant = $e),*
|
||||||
|
}
|
||||||
|
|
||||||
|
impl $name {
|
||||||
|
pub fn from_u32(u: u32) -> Option<$name> {
|
||||||
|
$(if u == $name::$variant as u32 {
|
||||||
|
return Some($name::$variant)
|
||||||
|
})*
|
||||||
|
None
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
($(#[$attr:meta])* pub enum $name:ident {
|
||||||
|
$($variant:ident,)*
|
||||||
|
}) => {
|
||||||
|
$(#[$attr])*
|
||||||
|
pub enum $name {
|
||||||
|
$($variant,)*
|
||||||
|
}
|
||||||
|
|
||||||
|
impl $name {
|
||||||
|
pub fn from_u32(u: u32) -> Option<$name> {
|
||||||
|
$(if u == $name::$variant as u32 {
|
||||||
|
return Some($name::$variant)
|
||||||
|
})*
|
||||||
|
None
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue