17e2e9c0cSopenharmony_ciuse serde_derive::Deserialize;
27e2e9c0cSopenharmony_ci
37e2e9c0cSopenharmony_ci#[derive(Deserialize)]
47e2e9c0cSopenharmony_cipub struct Nested;
57e2e9c0cSopenharmony_ci
67e2e9c0cSopenharmony_ci#[derive(Deserialize)]
77e2e9c0cSopenharmony_cipub enum ExternallyTagged {
87e2e9c0cSopenharmony_ci    Flatten {
97e2e9c0cSopenharmony_ci        #[serde(flatten)]
107e2e9c0cSopenharmony_ci        nested: Nested,
117e2e9c0cSopenharmony_ci        string: &'static str,
127e2e9c0cSopenharmony_ci    },
137e2e9c0cSopenharmony_ci}
147e2e9c0cSopenharmony_ci
157e2e9c0cSopenharmony_ci#[derive(Deserialize)]
167e2e9c0cSopenharmony_ci#[serde(tag = "tag")]
177e2e9c0cSopenharmony_cipub enum InternallyTagged {
187e2e9c0cSopenharmony_ci    Flatten {
197e2e9c0cSopenharmony_ci        #[serde(flatten)]
207e2e9c0cSopenharmony_ci        nested: Nested,
217e2e9c0cSopenharmony_ci        string: &'static str,
227e2e9c0cSopenharmony_ci    },
237e2e9c0cSopenharmony_ci}
247e2e9c0cSopenharmony_ci
257e2e9c0cSopenharmony_ci#[derive(Deserialize)]
267e2e9c0cSopenharmony_ci#[serde(tag = "tag", content = "content")]
277e2e9c0cSopenharmony_cipub enum AdjacentlyTagged {
287e2e9c0cSopenharmony_ci    Flatten {
297e2e9c0cSopenharmony_ci        #[serde(flatten)]
307e2e9c0cSopenharmony_ci        nested: Nested,
317e2e9c0cSopenharmony_ci        string: &'static str,
327e2e9c0cSopenharmony_ci    },
337e2e9c0cSopenharmony_ci}
347e2e9c0cSopenharmony_ci
357e2e9c0cSopenharmony_ci#[derive(Deserialize)]
367e2e9c0cSopenharmony_ci#[serde(untagged)]
377e2e9c0cSopenharmony_cipub enum UntaggedWorkaround {
387e2e9c0cSopenharmony_ci    Flatten {
397e2e9c0cSopenharmony_ci        #[serde(flatten)]
407e2e9c0cSopenharmony_ci        nested: Nested,
417e2e9c0cSopenharmony_ci        string: &'static str,
427e2e9c0cSopenharmony_ci    },
437e2e9c0cSopenharmony_ci}
44