Skip to content

Commit e9a29dd

Browse files
authored
Merge pull request #702 from Conaclos/seek-relative-std-adapter
io-adapters: forward `seek_relative` in std adapters and require Rust 1.81
2 parents dfb092d + 050e882 commit e9a29dd

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

embedded-io-adapters/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "embedded-io-adapters"
33
version = "0.6.2"
44
edition = "2021"
5-
rust-version = "1.60"
5+
rust-version = "1.81"
66
description = "Adapters between the `embedded-io` traits and other I/O traits"
77
repository = "https://github.com/rust-embedded/embedded-hal"
88
readme = "README.md"

embedded-io-adapters/src/std.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ impl<T: std::io::Seek + ?Sized> embedded_io::Seek for FromStd<T> {
102102
fn stream_position(&mut self) -> Result<u64, Self::Error> {
103103
self.inner.stream_position()
104104
}
105+
106+
fn seek_relative(&mut self, offset: i64) -> Result<(), Self::Error> {
107+
self.inner.seek_relative(offset)
108+
}
105109
}
106110

107111
/// Adapter to `std::io` traits.
@@ -167,10 +171,9 @@ impl<T: embedded_io::Write + ?Sized> std::io::Write for ToStd<T> {
167171
fn write_fmt(&mut self, fmt: core::fmt::Arguments<'_>) -> Result<(), std::io::Error> {
168172
match self.inner.write_fmt(fmt) {
169173
Ok(()) => Ok(()),
170-
Err(e @ embedded_io::WriteFmtError::FmtError) => Err(std::io::Error::new(
171-
std::io::ErrorKind::Other,
172-
format!("{e:?}"),
173-
)),
174+
Err(e @ embedded_io::WriteFmtError::FmtError) => {
175+
Err(std::io::Error::other(format!("{e:?}")))
176+
}
174177
Err(embedded_io::WriteFmtError::Other(e)) => Err(to_std_error(e)),
175178
}
176179
}
@@ -192,6 +195,10 @@ impl<T: embedded_io::Seek + ?Sized> std::io::Seek for ToStd<T> {
192195
fn stream_position(&mut self) -> Result<u64, std::io::Error> {
193196
self.inner.stream_position().map_err(to_std_error)
194197
}
198+
199+
fn seek_relative(&mut self, offset: i64) -> std::io::Result<()> {
200+
self.inner.seek_relative(offset).map_err(to_std_error)
201+
}
195202
}
196203

197204
/// Convert a embedded-io error to a [`std::io::Error`]

0 commit comments

Comments
 (0)