aboutsummaryrefslogtreecommitdiff
path: root/vendor/serde_json/tests/regression/issue795.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/serde_json/tests/regression/issue795.rs')
-rw-r--r--vendor/serde_json/tests/regression/issue795.rs59
1 files changed, 0 insertions, 59 deletions
diff --git a/vendor/serde_json/tests/regression/issue795.rs b/vendor/serde_json/tests/regression/issue795.rs
deleted file mode 100644
index bb82852..0000000
--- a/vendor/serde_json/tests/regression/issue795.rs
+++ /dev/null
@@ -1,59 +0,0 @@
-#![allow(clippy::assertions_on_result_states)]
-
-use serde::de::{
- Deserialize, Deserializer, EnumAccess, IgnoredAny, MapAccess, VariantAccess, Visitor,
-};
-use serde_json::json;
-use std::fmt;
-
-#[derive(Debug)]
-pub enum Enum {
- Variant { x: u8 },
-}
-
-impl<'de> Deserialize<'de> for Enum {
- fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
- where
- D: Deserializer<'de>,
- {
- struct EnumVisitor;
-
- impl<'de> Visitor<'de> for EnumVisitor {
- type Value = Enum;
-
- fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
- formatter.write_str("enum Enum")
- }
-
- fn visit_enum<A>(self, data: A) -> Result<Self::Value, A::Error>
- where
- A: EnumAccess<'de>,
- {
- let (IgnoredAny, variant) = data.variant()?;
- variant.struct_variant(&["x"], self)
- }
-
- fn visit_map<A>(self, mut data: A) -> Result<Self::Value, A::Error>
- where
- A: MapAccess<'de>,
- {
- let mut x = 0;
- if let Some((IgnoredAny, value)) = data.next_entry()? {
- x = value;
- }
- Ok(Enum::Variant { x })
- }
- }
-
- deserializer.deserialize_enum("Enum", &["Variant"], EnumVisitor)
- }
-}
-
-#[test]
-fn test() {
- let s = r#" {"Variant":{"x":0,"y":0}} "#;
- assert!(serde_json::from_str::<Enum>(s).is_err());
-
- let j = json!({"Variant":{"x":0,"y":0}});
- assert!(serde_json::from_value::<Enum>(j).is_err());
-}