From 425a4b7a746f23ce0d23ed7d7a95d1ea67ed8f63 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Wed, 19 Jul 2023 16:00:37 -0700 Subject: [PATCH] Check precompiled subprocess exit status --- precompiled/serde_derive/src/lib_precompiled.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/precompiled/serde_derive/src/lib_precompiled.rs b/precompiled/serde_derive/src/lib_precompiled.rs index 0821f334..92fe4408 100644 --- a/precompiled/serde_derive/src/lib_precompiled.rs +++ b/precompiled/serde_derive/src/lib_precompiled.rs @@ -48,6 +48,14 @@ fn derive(select: u8, input: TokenStream) -> TokenStream { buf.clear(); stdout.read_to_end(&mut buf).unwrap(); + let success = match child.wait() { + Ok(exit_status) => exit_status.success(), + Err(_) => !buf.is_empty(), + }; + if !success { + panic!(); + } + let mut buf = InputBuffer::new(&buf); memory.receive(&mut buf) }