diff --git a/test_suite/tests/compile-fail/conflict/flatten-skip-deserializing.rs b/test_suite/tests/compile-fail/conflict/flatten-skip-deserializing.rs new file mode 100644 index 00000000..3ef4d38f --- /dev/null +++ b/test_suite/tests/compile-fail/conflict/flatten-skip-deserializing.rs @@ -0,0 +1,24 @@ +// Copyright 2018 Serde Developers +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#[macro_use] +extern crate serde_derive; + +#[derive(Deserialize)] //~ ERROR: proc-macro derive panicked +//~^ HELP: #[serde(flatten] can not be combined with #[serde(skip_deserializing)] +struct Foo { + #[serde(flatten, skip_deserializing)] + other: Other, +} + +#[derive(Deserialize)] +struct Other { + x: u32 +} + +fn main() {} diff --git a/test_suite/tests/compile-fail/conflict/flatten-skip-serializing-if.rs b/test_suite/tests/compile-fail/conflict/flatten-skip-serializing-if.rs new file mode 100644 index 00000000..6a5fa9d6 --- /dev/null +++ b/test_suite/tests/compile-fail/conflict/flatten-skip-serializing-if.rs @@ -0,0 +1,24 @@ +// Copyright 2018 Serde Developers +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#[macro_use] +extern crate serde_derive; + +#[derive(Serialize)] //~ ERROR: proc-macro derive panicked +//~^ HELP: #[serde(flatten] can not be combined with #[serde(skip_serializing_if = "...")] +struct Foo { + #[serde(flatten, skip_serializing_if="Option::is_none")] + other: Option, +} + +#[derive(Serialize)] +struct Other { + x: u32 +} + +fn main() {} diff --git a/test_suite/tests/compile-fail/conflict/flatten-skip-serializing.rs b/test_suite/tests/compile-fail/conflict/flatten-skip-serializing.rs new file mode 100644 index 00000000..204f9bf3 --- /dev/null +++ b/test_suite/tests/compile-fail/conflict/flatten-skip-serializing.rs @@ -0,0 +1,24 @@ +// Copyright 2018 Serde Developers +// +// Licensed under the Apache License, Version 2.0 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#[macro_use] +extern crate serde_derive; + +#[derive(Serialize)] //~ ERROR: proc-macro derive panicked +//~^ HELP: #[serde(flatten] can not be combined with #[serde(skip_serializing)] +struct Foo { + #[serde(flatten, skip_serializing)] + other: Other, +} + +#[derive(Serialize)] +struct Other { + x: u32 +} + +fn main() {}