From 3b56a68df4a1421bd7f3a9f7c3b47f8df8450d03 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Tue, 30 Jul 2024 15:42:06 +0200 Subject: [PATCH] perlmod: add missing drop handler for RawGuard Signed-off-by: Wolfgang Bumiller --- perlmod/src/raw_value.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/perlmod/src/raw_value.rs b/perlmod/src/raw_value.rs index babc3dd..81d6234 100644 --- a/perlmod/src/raw_value.rs +++ b/perlmod/src/raw_value.rs @@ -15,6 +15,12 @@ thread_local!(static SERIALIZE_RAW: RefCell = RefCell::new(false)); pub(crate) struct RawGuard(bool); +impl Drop for RawGuard { + fn drop(&mut self) { + SERIALIZE_RAW.with(|raw| *raw.borrow_mut() = self.0); + } +} + #[inline] pub(crate) fn guarded(on: bool) -> RawGuard { SERIALIZE_RAW.with(move |raw| RawGuard(raw.replace(on)))