Sort macros in a more readable order

This commit is contained in:
David Tolnay 2017-04-13 12:15:12 -07:00
parent 942642c0f4
commit c5bd760133
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82
3 changed files with 122 additions and 121 deletions

View File

@ -1,111 +1,3 @@
#[doc(hidden)]
#[macro_export]
macro_rules! forward_to_deserialize_method {
($func:ident<$l:tt, $v:ident>($($arg:ident : $ty:ty),*)) => {
#[inline]
fn $func<$v>(self, $($arg: $ty,)* visitor: $v) -> $crate::export::Result<$v::Value, Self::Error>
where $v: $crate::de::Visitor<$l>
{
$(
let _ = $arg;
)*
self.deserialize(visitor)
}
};
}
#[doc(hidden)]
#[macro_export]
macro_rules! forward_to_deserialize_helper {
(bool<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_bool<$l, $v>()}
};
(u8<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_u8<$l, $v>()}
};
(u16<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_u16<$l, $v>()}
};
(u32<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_u32<$l, $v>()}
};
(u64<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_u64<$l, $v>()}
};
(i8<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_i8<$l, $v>()}
};
(i16<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_i16<$l, $v>()}
};
(i32<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_i32<$l, $v>()}
};
(i64<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_i64<$l, $v>()}
};
(f32<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_f32<$l, $v>()}
};
(f64<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_f64<$l, $v>()}
};
(char<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_char<$l, $v>()}
};
(str<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_str<$l, $v>()}
};
(string<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_string<$l, $v>()}
};
(unit<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_unit<$l, $v>()}
};
(option<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_option<$l, $v>()}
};
(seq<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_seq<$l, $v>()}
};
(seq_fixed_size<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_seq_fixed_size<$l, $v>(len: usize)}
};
(bytes<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_bytes<$l, $v>()}
};
(byte_buf<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_byte_buf<$l, $v>()}
};
(map<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_map<$l, $v>()}
};
(unit_struct<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_unit_struct<$l, $v>(name: &'static str)}
};
(newtype_struct<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_newtype_struct<$l, $v>(name: &'static str)}
};
(tuple_struct<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_tuple_struct<$l, $v>(name: &'static str, len: usize)}
};
(struct<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_struct<$l, $v>(name: &'static str, fields: &'static [&'static str])}
};
(identifier<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_identifier<$l, $v>()}
};
(tuple<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_tuple<$l, $v>(len: usize)}
};
(enum<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_enum<$l, $v>(name: &'static str, variants: &'static [&'static str])}
};
(ignored_any<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_ignored_any<$l, $v>()}
};
}
// Super explicit first paragraph because this shows up at the top level and
// trips up people who are just looking for basic Serialize / Deserialize
// documentation.
@ -229,7 +121,116 @@ macro_rules! forward_to_deserialize {
(<$visitor:ident: Visitor<$lifetime:tt>> $($func:ident)*) => {
$(forward_to_deserialize_helper!{$func<$lifetime, $visitor>})*
};
// This case must be after the previous one.
($($func:ident)*) => {
$(forward_to_deserialize_helper!{$func<'de, V>})*
};
}
#[doc(hidden)]
#[macro_export]
macro_rules! forward_to_deserialize_method {
($func:ident<$l:tt, $v:ident>($($arg:ident : $ty:ty),*)) => {
#[inline]
fn $func<$v>(self, $($arg: $ty,)* visitor: $v) -> $crate::export::Result<$v::Value, Self::Error>
where $v: $crate::de::Visitor<$l>
{
$(
let _ = $arg;
)*
self.deserialize(visitor)
}
};
}
#[doc(hidden)]
#[macro_export]
macro_rules! forward_to_deserialize_helper {
(bool<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_bool<$l, $v>()}
};
(u8<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_u8<$l, $v>()}
};
(u16<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_u16<$l, $v>()}
};
(u32<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_u32<$l, $v>()}
};
(u64<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_u64<$l, $v>()}
};
(i8<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_i8<$l, $v>()}
};
(i16<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_i16<$l, $v>()}
};
(i32<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_i32<$l, $v>()}
};
(i64<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_i64<$l, $v>()}
};
(f32<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_f32<$l, $v>()}
};
(f64<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_f64<$l, $v>()}
};
(char<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_char<$l, $v>()}
};
(str<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_str<$l, $v>()}
};
(string<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_string<$l, $v>()}
};
(unit<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_unit<$l, $v>()}
};
(option<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_option<$l, $v>()}
};
(seq<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_seq<$l, $v>()}
};
(seq_fixed_size<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_seq_fixed_size<$l, $v>(len: usize)}
};
(bytes<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_bytes<$l, $v>()}
};
(byte_buf<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_byte_buf<$l, $v>()}
};
(map<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_map<$l, $v>()}
};
(unit_struct<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_unit_struct<$l, $v>(name: &'static str)}
};
(newtype_struct<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_newtype_struct<$l, $v>(name: &'static str)}
};
(tuple_struct<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_tuple_struct<$l, $v>(name: &'static str, len: usize)}
};
(struct<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_struct<$l, $v>(name: &'static str, fields: &'static [&'static str])}
};
(identifier<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_identifier<$l, $v>()}
};
(tuple<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_tuple<$l, $v>(len: usize)}
};
(enum<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_enum<$l, $v>(name: &'static str, variants: &'static [&'static str])}
};
(ignored_any<$l:tt, $v:ident>) => {
forward_to_deserialize_method!{deserialize_ignored_any<$l, $v>()}
};
}

View File

@ -1,3 +1,14 @@
/// Used only by Serde doc tests. Not public API.
#[doc(hidden)]
#[macro_export]
macro_rules! __serialize_unimplemented {
($($func:ident)*) => {
$(
__serialize_unimplemented_helper!($func);
)*
};
}
#[doc(hidden)]
#[macro_export]
macro_rules! __serialize_unimplemented_method {
@ -106,14 +117,3 @@ macro_rules! __serialize_unimplemented_helper {
__serialize_unimplemented_method!(serialize_struct_variant(&str, u32, &str, usize) -> SerializeStructVariant);
};
}
/// Used only by Serde doc tests. Not public API.
#[doc(hidden)]
#[macro_export]
macro_rules! __serialize_unimplemented {
($($func:ident)*) => {
$(
__serialize_unimplemented_helper!($func);
)*
};
}

View File

@ -1,4 +1,4 @@
mod macros;
pub mod ser;
pub mod de;
mod macros;