From 1f8c8ad5a3c70782ddfd1c219227bac3b139d15d Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Sun, 20 Aug 2023 21:36:55 -0700 Subject: [PATCH] Fix "cannot move out of `*self` which is behind a shared reference" --- serde_derive/src/ser.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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))), }); }