diff --git a/serde_derive_internals/src/check.rs b/serde_derive_internals/src/check.rs index 0ed8afe6..dd37085d 100644 --- a/serde_derive_internals/src/check.rs +++ b/serde_derive_internals/src/check.rs @@ -45,9 +45,7 @@ fn check_getter(cx: &Ctxt, cont: &Container) { fn check_flatten(cx: &Ctxt, cont: &Container) { match cont.data { Data::Enum(_) => { - if cont.attrs.has_flatten() { - cx.error("#[serde(flatten)] is not supported on enums"); - } + debug_assert!(!cont.attrs.has_flatten()); } Data::Struct(_, _) => { for field in cont.data.all_fields() { diff --git a/test_suite/tests/compile-fail/enum-representation/flatten-enum.rs b/test_suite/tests/compile-fail/enum-representation/flatten-enum.rs index 87fba41c..8444860f 100644 --- a/test_suite/tests/compile-fail/enum-representation/flatten-enum.rs +++ b/test_suite/tests/compile-fail/enum-representation/flatten-enum.rs @@ -10,7 +10,7 @@ extern crate serde_derive; #[derive(Serialize)] //~ ERROR: proc-macro derive panicked -//~^ HELP: #[serde(flatten] is not supported on enums +//~^ HELP: unknown serde variant attribute `flatten` enum Foo { #[serde(flatten)] Foo {