diff --git a/precompiled/serde_derive/src/lib_precompiled.rs b/precompiled/serde_derive/src/lib_precompiled.rs index 0821f334f..92fe44080 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) }