From 5bc805329e558dce02c59a3ac10393432ed8381e Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Tue, 13 Mar 2018 09:42:07 -0700 Subject: [PATCH] Drop impl should only panic if not already panicking --- serde_derive_internals/src/ctxt.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/serde_derive_internals/src/ctxt.rs b/serde_derive_internals/src/ctxt.rs index 0ce7916c..454b7c27 100644 --- a/serde_derive_internals/src/ctxt.rs +++ b/serde_derive_internals/src/ctxt.rs @@ -8,6 +8,7 @@ use std::fmt::Display; use std::cell::RefCell; +use std::thread; #[derive(Default)] pub struct Ctxt { @@ -48,7 +49,7 @@ impl Ctxt { impl Drop for Ctxt { fn drop(&mut self) { - if self.errors.borrow().is_some() { + if !thread::panicking() && self.errors.borrow().is_some() { panic!("forgot to check for errors"); } }