]>
git.proxmox.com Git - cargo.git/blob - vendor/serde/src/integer128.rs
1 /// Conditional compilation depending on whether Serde is built with support for
4 /// Data formats that wish to support Rust compiler versions older than 1.26
5 /// (or targets that lack 128-bit integers) may place the i128 / u128 methods
6 /// of their Serializer and Deserializer behind this macro.
8 /// Data formats that require a minimum Rust compiler version of at least 1.26,
9 /// or do not target platforms that lack 128-bit integers, do not need to
10 /// bother with this macro and may assume support for 128-bit integers.
13 /// # use serde::private::ser::Error;
15 /// # struct MySerializer;
17 /// use serde::{serde_if_integer128, Serializer};
19 /// impl Serializer for MySerializer {
21 /// type Error = Error;
23 /// fn serialize_i64(self, v: i64) -> Result<Self::Ok, Self::Error> {
25 /// # unimplemented!()
30 /// serde_if_integer128! {
31 /// fn serialize_i128(self, v: i128) -> Result<Self::Ok, Self::Error> {
33 /// # unimplemented!()
36 /// fn serialize_u128(self, v: u128) -> Result<Self::Ok, Self::Error> {
38 /// # unimplemented!()
42 /// # serde::__serialize_unimplemented! {
43 /// # bool i8 i16 i32 u8 u16 u32 u64 f32 f64 char str bytes none some
44 /// # unit unit_struct unit_variant newtype_struct newtype_variant seq
45 /// # tuple tuple_struct tuple_variant map struct struct_variant
50 /// When Serde is built with support for 128-bit integers, this macro expands
51 /// transparently into just the input tokens.
54 /// macro_rules! serde_if_integer128 {
61 /// When built without support for 128-bit integers, this macro expands to
65 /// macro_rules! serde_if_integer128 {
66 /// ($($tt:tt)*) => {};
71 macro_rules
! serde_if_integer128
{
77 #[cfg(not(integer128))]
80 macro_rules
! serde_if_integer128
{