diff --git a/serde_derive/src/ser.rs b/serde_derive/src/ser.rs index 1f67f043..a2cab263 100644 --- a/serde_derive/src/ser.rs +++ b/serde_derive/src/ser.rs @@ -409,9 +409,9 @@ fn serialize_enum(params: &Parameters, variants: &[Variant], cattrs: &attr::Cont }) .collect(); - if cattrs.non_exhaustive() { + if cattrs.remote().is_some() && cattrs.non_exhaustive() { arms.push(quote! { - unrecognized => _serde::__private::Err(_serde::ser::Error::custom(_serde::__private::ser::CannotSerializeVariant(unrecognized))), + ref unrecognized => _serde::__private::Err(_serde::ser::Error::custom(_serde::__private::ser::CannotSerializeVariant(unrecognized))), }); }