1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #[cfg(feature = "log")]
- #[macro_use]
- mod log {
- macro_rules! net_log {
- (trace, $($arg:expr),*) => { trace!($($arg),*); };
- (debug, $($arg:expr),*) => { debug!($($arg),*); };
- }
- }
- #[cfg(not(feature = "log"))]
- #[macro_use]
- mod log {
- macro_rules! net_log {
- ($level:ident, $($arg:expr),*) => { $( let _ = $arg; )* }
- }
- }
- macro_rules! net_trace {
- ($($arg:expr),*) => (net_log!(trace, $($arg),*));
- }
- macro_rules! net_debug {
- ($($arg:expr),*) => (net_log!(debug, $($arg),*));
- }
- macro_rules! enum_with_unknown {
- (
- $( #[$enum_attr:meta] )*
- pub enum $name:ident($ty:ty) {
- $( $variant:ident = $value:expr ),+ $(,)*
- }
- ) => {
- enum_with_unknown! {
- $( #[$enum_attr] )*
- pub doc enum $name($ty) {
- $( #[doc(shown)] $variant = $value ),+
- }
- }
- };
- (
- $( #[$enum_attr:meta] )*
- pub doc enum $name:ident($ty:ty) {
- $(
- $( #[$variant_attr:meta] )+
- $variant:ident = $value:expr $(,)*
- ),+
- }
- ) => {
- #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)]
- $( #[$enum_attr] )*
- pub enum $name {
- $(
- $( #[$variant_attr] )*
- $variant
- ),*,
- Unknown($ty)
- }
- impl ::core::convert::From<$ty> for $name {
- fn from(value: $ty) -> Self {
- match value {
- $( $value => $name::$variant ),*,
- other => $name::Unknown(other)
- }
- }
- }
- impl ::core::convert::From<$name> for $ty {
- fn from(value: $name) -> Self {
- match value {
- $( $name::$variant => $value ),*,
- $name::Unknown(other) => other
- }
- }
- }
- }
- }
|