Closed elast0ny closed 10 months ago
Name | Link |
---|---|
Latest commit | 46124bbd7e1e81d179500625a789e306f247b78c |
Latest deploy log | https://app.netlify.com/sites/cute-starship-2d9c9b/deploys/65a07047dc4b76000849f899 |
Thank you @elast0ny! I'm not 100% I want to use the pattern you did, of mutually exclusive features. I may want to instead offer both, in separate modules, with the existing embedded-io
meaning 0.4
, and mark it as deprecated.
See also #115 and #121. I'll want to be consistent with whatever I decide for the version bump.
Thanks for the quick reply ! I needed support for v0.6
so I'll probably go on and use my fork given that this depends on some design decisions and #115 / #121 being resolved.
Let me know when you have a concrete path forward for this and I'll see if I can update my branch/PR !
Edit :
offer both, in separate modules
This would be nice but may lead to lots of duplicated impls (unless we write some macro-foo that swaps the trait bounds for each embedded-io
version).
For example, you might need to copy paste the implementation of EIOReader
for each version included so that it can have the proper embedded_io::*::Read
bound. The bummer is that most/all of those impls will work exactly the same (calling reader.read()
) regardless of what "incompatible" Read
trait we use.
I'm going to merge this and then move it around a bit, thank you @elast0ny!
No problem ! Just as an FYI, I've opened https://github.com/rust-embedded/embedded-hal/issues/566 to see if we cant get a "stable" embedded-io
release. It would be nice if the ecosystem would converge to a 1.0.0
that will hopefully stick around for a long time.
This adds a new
embedded-io-06
feature which allows users to use the latestembedded_io
v0.6.*
.Backwards compatibility is maintained with the previous
embedded-io
which is now setup to activate theembedded-io-04
feature internally.