diff --git a/src/stdio/src/lib.rs b/src/stdio/src/lib.rs index cb53560895aa9eb7cc8335afc1fd14196902f804..1d720ed7e1423be584081e1708ec3b3d082926ac 100644 --- a/src/stdio/src/lib.rs +++ b/src/stdio/src/lib.rs @@ -203,6 +203,15 @@ impl Read for FILE { } } +impl Drop for FILE { + fn drop(&mut self) { + // Flush + if let Some(_) = self.write { + self.write(&[]); + } + } +} + /// Clears EOF and ERR indicators on a stream #[no_mangle] pub extern "C" fn clearerr(stream: &mut FILE) {