• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 use serde::Serialize;
2 enum SerEnum<'a, B: 'a, C: 'a, D>
3 where
4     D: 'a,
5 {
6     Unit,
7     Seq(i8, B, &'a C, &'a mut D),
8     Map { a: i8, b: B, c: &'a C, d: &'a mut D },
9     _Unit2,
10     _Seq2(i8, B, &'a C, &'a mut D),
11     _Map2 { a: i8, b: B, c: &'a C, d: &'a mut D },
12 }
13 #[doc(hidden)]
14 #[allow(non_upper_case_globals, unused_attributes, unused_qualifications)]
15 const _: () = {
16     #[allow(unused_extern_crates, clippy::useless_attribute)]
17     extern crate serde as _serde;
18     #[automatically_derived]
19     impl<'a, B: 'a, C: 'a, D> _serde::Serialize for SerEnum<'a, B, C, D>
20     where
21         D: 'a,
22         B: _serde::Serialize,
23         C: _serde::Serialize,
24         D: _serde::Serialize,
25     {
serialize<__S>( &self, __serializer: __S, ) -> _serde::__private::Result<__S::Ok, __S::Error> where __S: _serde::Serializer,26         fn serialize<__S>(
27             &self,
28             __serializer: __S,
29         ) -> _serde::__private::Result<__S::Ok, __S::Error>
30         where
31             __S: _serde::Serializer,
32         {
33             match *self {
34                 SerEnum::Unit => _serde::Serializer::serialize_unit_variant(
35                     __serializer,
36                     "SerEnum",
37                     0u32,
38                     "Unit",
39                 ),
40                 SerEnum::Seq(ref __field0, ref __field1, ref __field2, ref __field3) => {
41                     let mut __serde_state = match _serde::Serializer::serialize_tuple_variant(
42                         __serializer,
43                         "SerEnum",
44                         1u32,
45                         "Seq",
46                         0 + 1 + 1 + 1 + 1,
47                     ) {
48                         _serde::__private::Ok(__val) => __val,
49                         _serde::__private::Err(__err) => {
50                             return _serde::__private::Err(__err);
51                         }
52                     };
53                     match _serde::ser::SerializeTupleVariant::serialize_field(
54                         &mut __serde_state,
55                         __field0,
56                     ) {
57                         _serde::__private::Ok(__val) => __val,
58                         _serde::__private::Err(__err) => {
59                             return _serde::__private::Err(__err);
60                         }
61                     };
62                     match _serde::ser::SerializeTupleVariant::serialize_field(
63                         &mut __serde_state,
64                         __field1,
65                     ) {
66                         _serde::__private::Ok(__val) => __val,
67                         _serde::__private::Err(__err) => {
68                             return _serde::__private::Err(__err);
69                         }
70                     };
71                     match _serde::ser::SerializeTupleVariant::serialize_field(
72                         &mut __serde_state,
73                         __field2,
74                     ) {
75                         _serde::__private::Ok(__val) => __val,
76                         _serde::__private::Err(__err) => {
77                             return _serde::__private::Err(__err);
78                         }
79                     };
80                     match _serde::ser::SerializeTupleVariant::serialize_field(
81                         &mut __serde_state,
82                         __field3,
83                     ) {
84                         _serde::__private::Ok(__val) => __val,
85                         _serde::__private::Err(__err) => {
86                             return _serde::__private::Err(__err);
87                         }
88                     };
89                     _serde::ser::SerializeTupleVariant::end(__serde_state)
90                 }
91                 SerEnum::Map {
92                     ref a,
93                     ref b,
94                     ref c,
95                     ref d,
96                 } => {
97                     let mut __serde_state = match _serde::Serializer::serialize_struct_variant(
98                         __serializer,
99                         "SerEnum",
100                         2u32,
101                         "Map",
102                         0 + 1 + 1 + 1 + 1,
103                     ) {
104                         _serde::__private::Ok(__val) => __val,
105                         _serde::__private::Err(__err) => {
106                             return _serde::__private::Err(__err);
107                         }
108                     };
109                     match _serde::ser::SerializeStructVariant::serialize_field(
110                         &mut __serde_state,
111                         "a",
112                         a,
113                     ) {
114                         _serde::__private::Ok(__val) => __val,
115                         _serde::__private::Err(__err) => {
116                             return _serde::__private::Err(__err);
117                         }
118                     };
119                     match _serde::ser::SerializeStructVariant::serialize_field(
120                         &mut __serde_state,
121                         "b",
122                         b,
123                     ) {
124                         _serde::__private::Ok(__val) => __val,
125                         _serde::__private::Err(__err) => {
126                             return _serde::__private::Err(__err);
127                         }
128                     };
129                     match _serde::ser::SerializeStructVariant::serialize_field(
130                         &mut __serde_state,
131                         "c",
132                         c,
133                     ) {
134                         _serde::__private::Ok(__val) => __val,
135                         _serde::__private::Err(__err) => {
136                             return _serde::__private::Err(__err);
137                         }
138                     };
139                     match _serde::ser::SerializeStructVariant::serialize_field(
140                         &mut __serde_state,
141                         "d",
142                         d,
143                     ) {
144                         _serde::__private::Ok(__val) => __val,
145                         _serde::__private::Err(__err) => {
146                             return _serde::__private::Err(__err);
147                         }
148                     };
149                     _serde::ser::SerializeStructVariant::end(__serde_state)
150                 }
151                 SerEnum::_Unit2 => _serde::Serializer::serialize_unit_variant(
152                     __serializer,
153                     "SerEnum",
154                     3u32,
155                     "_Unit2",
156                 ),
157                 SerEnum::_Seq2(ref __field0, ref __field1, ref __field2, ref __field3) => {
158                     let mut __serde_state = match _serde::Serializer::serialize_tuple_variant(
159                         __serializer,
160                         "SerEnum",
161                         4u32,
162                         "_Seq2",
163                         0 + 1 + 1 + 1 + 1,
164                     ) {
165                         _serde::__private::Ok(__val) => __val,
166                         _serde::__private::Err(__err) => {
167                             return _serde::__private::Err(__err);
168                         }
169                     };
170                     match _serde::ser::SerializeTupleVariant::serialize_field(
171                         &mut __serde_state,
172                         __field0,
173                     ) {
174                         _serde::__private::Ok(__val) => __val,
175                         _serde::__private::Err(__err) => {
176                             return _serde::__private::Err(__err);
177                         }
178                     };
179                     match _serde::ser::SerializeTupleVariant::serialize_field(
180                         &mut __serde_state,
181                         __field1,
182                     ) {
183                         _serde::__private::Ok(__val) => __val,
184                         _serde::__private::Err(__err) => {
185                             return _serde::__private::Err(__err);
186                         }
187                     };
188                     match _serde::ser::SerializeTupleVariant::serialize_field(
189                         &mut __serde_state,
190                         __field2,
191                     ) {
192                         _serde::__private::Ok(__val) => __val,
193                         _serde::__private::Err(__err) => {
194                             return _serde::__private::Err(__err);
195                         }
196                     };
197                     match _serde::ser::SerializeTupleVariant::serialize_field(
198                         &mut __serde_state,
199                         __field3,
200                     ) {
201                         _serde::__private::Ok(__val) => __val,
202                         _serde::__private::Err(__err) => {
203                             return _serde::__private::Err(__err);
204                         }
205                     };
206                     _serde::ser::SerializeTupleVariant::end(__serde_state)
207                 }
208                 SerEnum::_Map2 {
209                     ref a,
210                     ref b,
211                     ref c,
212                     ref d,
213                 } => {
214                     let mut __serde_state = match _serde::Serializer::serialize_struct_variant(
215                         __serializer,
216                         "SerEnum",
217                         5u32,
218                         "_Map2",
219                         0 + 1 + 1 + 1 + 1,
220                     ) {
221                         _serde::__private::Ok(__val) => __val,
222                         _serde::__private::Err(__err) => {
223                             return _serde::__private::Err(__err);
224                         }
225                     };
226                     match _serde::ser::SerializeStructVariant::serialize_field(
227                         &mut __serde_state,
228                         "a",
229                         a,
230                     ) {
231                         _serde::__private::Ok(__val) => __val,
232                         _serde::__private::Err(__err) => {
233                             return _serde::__private::Err(__err);
234                         }
235                     };
236                     match _serde::ser::SerializeStructVariant::serialize_field(
237                         &mut __serde_state,
238                         "b",
239                         b,
240                     ) {
241                         _serde::__private::Ok(__val) => __val,
242                         _serde::__private::Err(__err) => {
243                             return _serde::__private::Err(__err);
244                         }
245                     };
246                     match _serde::ser::SerializeStructVariant::serialize_field(
247                         &mut __serde_state,
248                         "c",
249                         c,
250                     ) {
251                         _serde::__private::Ok(__val) => __val,
252                         _serde::__private::Err(__err) => {
253                             return _serde::__private::Err(__err);
254                         }
255                     };
256                     match _serde::ser::SerializeStructVariant::serialize_field(
257                         &mut __serde_state,
258                         "d",
259                         d,
260                     ) {
261                         _serde::__private::Ok(__val) => __val,
262                         _serde::__private::Err(__err) => {
263                             return _serde::__private::Err(__err);
264                         }
265                     };
266                     _serde::ser::SerializeStructVariant::end(__serde_state)
267                 }
268             }
269         }
270     }
271 };
272