Skip to content

Commit 72fbbe7

Browse files
authored
Merge pull request #659 from MathiasPius/master
Impl ReadReady and WriteReady for u8 slices
2 parents 53a8b41 + 46a5222 commit 72fbbe7

File tree

4 files changed

+18
-3
lines changed

4 files changed

+18
-3
lines changed

embedded-hal-nb/src/serial.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ where
127127
let _ = s
128128
.bytes()
129129
.map(|c| nb::block!(self.write(Word::from(c))))
130-
.last();
130+
.next_back();
131131
Ok(())
132132
}
133133
}

embedded-io/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1010
- Added `core::error::Error` implementations for every custom `impl Error`
1111
- Migrated `std` feature-gated `std::error::Error` implementations to `core::error::Error`
1212
- Increased MSRV to 1.81 due to `core::error::Error`
13+
- Implemented `ReadReady` for `&[u8]` and `WriteReady` for `&mut [u8]`
1314

1415
## 0.6.1 - 2023-10-22
1516

embedded-io/src/impls/slice_mut.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::{Error, ErrorKind, ErrorType, SliceWriteError, Write};
1+
use crate::{Error, ErrorKind, ErrorType, SliceWriteError, Write, WriteReady};
22
use core::mem;
33

44
impl Error for SliceWriteError {
@@ -47,3 +47,10 @@ impl Write for &mut [u8] {
4747
Ok(())
4848
}
4949
}
50+
51+
impl WriteReady for &mut [u8] {
52+
#[inline]
53+
fn write_ready(&mut self) -> Result<bool, Self::Error> {
54+
Ok(true)
55+
}
56+
}

embedded-io/src/impls/slice_ref.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::{BufRead, ErrorType, Read};
1+
use crate::{BufRead, ErrorType, Read, ReadReady};
22

33
impl ErrorType for &[u8] {
44
type Error = core::convert::Infallible;
@@ -39,3 +39,10 @@ impl BufRead for &[u8] {
3939
*self = &self[amt..];
4040
}
4141
}
42+
43+
impl ReadReady for &[u8] {
44+
#[inline]
45+
fn read_ready(&mut self) -> Result<bool, Self::Error> {
46+
Ok(true)
47+
}
48+
}

0 commit comments

Comments
 (0)