From d75daf977608325d19a5745a42705ba3391d0b20 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Kr=C3=B6ning?= Date: Thu, 4 Sep 2025 10:44:24 +0200 Subject: [PATCH] feat(async-io): make async `Write::flush` a required method --- embedded-io-async/src/impls/slice_mut.rs | 5 +++++ embedded-io-async/src/impls/vec.rs | 5 +++++ embedded-io-async/src/lib.rs | 4 +--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/embedded-io-async/src/impls/slice_mut.rs b/embedded-io-async/src/impls/slice_mut.rs index fbbed187..a0800cd8 100644 --- a/embedded-io-async/src/impls/slice_mut.rs +++ b/embedded-io-async/src/impls/slice_mut.rs @@ -25,6 +25,11 @@ impl Write for &mut [u8] { Ok(amt) } + #[inline] + async fn flush(&mut self) -> Result<(), Self::Error> { + Ok(()) + } + #[inline] async fn write_all(&mut self, buf: &[u8]) -> Result<(), Self::Error> { if self.len() < buf.len() { diff --git a/embedded-io-async/src/impls/vec.rs b/embedded-io-async/src/impls/vec.rs index a9741f1e..d8aba558 100644 --- a/embedded-io-async/src/impls/vec.rs +++ b/embedded-io-async/src/impls/vec.rs @@ -10,6 +10,11 @@ impl Write for Vec { Ok(buf.len()) } + #[inline] + async fn flush(&mut self) -> Result<(), Self::Error> { + Ok(()) + } + #[inline] async fn write_all(&mut self, buf: &[u8]) -> Result<(), Self::Error> { self.write(buf).await?; diff --git a/embedded-io-async/src/lib.rs b/embedded-io-async/src/lib.rs index 1a8dbf7e..a421e54c 100644 --- a/embedded-io-async/src/lib.rs +++ b/embedded-io-async/src/lib.rs @@ -127,9 +127,7 @@ pub trait Write: ErrorType { async fn write(&mut self, buf: &[u8]) -> Result; /// Flush this output stream, ensuring that all intermediately buffered contents reach their destination. - async fn flush(&mut self) -> Result<(), Self::Error> { - Ok(()) - } + async fn flush(&mut self) -> Result<(), Self::Error>; /// Write an entire buffer into this writer. ///