Skip to content

Commit 1b8290b

Browse files
committed
Convert serde_test's unexpected from macro to function
1 parent 48193fb commit 1b8290b

File tree

1 file changed

+12
-16
lines changed

1 file changed

+12
-16
lines changed

serde_test/src/de.rs

Lines changed: 12 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,11 @@ macro_rules! assert_next_token {
3232
};
3333
}
3434

35-
macro_rules! unexpected {
36-
($token:expr) => {
37-
Err(de::Error::custom(format!(
38-
"deserialization did not expect this token: {}",
39-
$token
40-
)))
41-
};
35+
fn unexpected(token: Token) -> Error {
36+
de::Error::custom(format!(
37+
"deserialization did not expect this token: {}",
38+
token,
39+
))
4240
}
4341

4442
macro_rules! end_of_tokens {
@@ -211,7 +209,7 @@ impl<'de, 'a> de::Deserializer<'de> for &'a mut Deserializer<'de> {
211209
self.next_token();
212210
visitor.visit_u64(variant)
213211
}
214-
(variant, Token::Unit) => unexpected!(variant),
212+
(variant, Token::Unit) => Err(unexpected(variant)),
215213
(variant, _) => {
216214
visitor.visit_map(EnumMapVisitor::new(self, variant, EnumFormat::Any))
217215
}
@@ -239,9 +237,7 @@ impl<'de, 'a> de::Deserializer<'de> for &'a mut Deserializer<'de> {
239237
| Token::MapEnd
240238
| Token::StructEnd
241239
| Token::TupleVariantEnd
242-
| Token::StructVariantEnd => {
243-
unexpected!(token)
244-
}
240+
| Token::StructVariantEnd => Err(unexpected(token)),
245241
}
246242
}
247243

@@ -538,7 +534,7 @@ impl<'de, 'a> VariantAccess<'de> for DeserializerEnumVisitor<'a, 'de> {
538534
self.de
539535
.visit_seq(Some(len), Token::TupleVariantEnd, visitor)
540536
} else {
541-
unexpected!(token)
537+
Err(unexpected(token))
542538
}
543539
}
544540
Token::Seq {
@@ -549,7 +545,7 @@ impl<'de, 'a> VariantAccess<'de> for DeserializerEnumVisitor<'a, 'de> {
549545
if len == enum_len {
550546
self.de.visit_seq(Some(len), Token::SeqEnd, visitor)
551547
} else {
552-
unexpected!(token)
548+
Err(unexpected(token))
553549
}
554550
}
555551
_ => de::Deserializer::deserialize_any(self.de, visitor),
@@ -572,7 +568,7 @@ impl<'de, 'a> VariantAccess<'de> for DeserializerEnumVisitor<'a, 'de> {
572568
self.de
573569
.visit_map(Some(fields.len()), Token::StructVariantEnd, visitor)
574570
} else {
575-
unexpected!(token)
571+
Err(unexpected(token))
576572
}
577573
}
578574
Token::Map {
@@ -584,7 +580,7 @@ impl<'de, 'a> VariantAccess<'de> for DeserializerEnumVisitor<'a, 'de> {
584580
self.de
585581
.visit_map(Some(fields.len()), Token::MapEnd, visitor)
586582
} else {
587-
unexpected!(token)
583+
Err(unexpected(token))
588584
}
589585
}
590586
_ => de::Deserializer::deserialize_any(self.de, visitor),
@@ -629,7 +625,7 @@ impl<'de, 'a> MapAccess<'de> for EnumMapVisitor<'a, 'de> {
629625
.deserialize(BytesDeserializer { value: variant })
630626
.map(Some),
631627
Some(Token::U32(variant)) => seed.deserialize(variant.into_deserializer()).map(Some),
632-
Some(other) => unexpected!(other),
628+
Some(other) => Err(unexpected(other)),
633629
None => Ok(None),
634630
}
635631
}

0 commit comments

Comments
 (0)