trussed-dev/heapless-bytes

Remove `heapless` from public API

Closed this issue · 3 comments

#4 already suggested removing the Deref implementation for better ergonomics.

I also suggest removing heapless from the public API, outside of simple From/Into, AsRef etc... implementations, behind a feature flag called heapless-0-8.

Concern by @robin-nitrokey in #3 :

          I also thought about removing the public heapless dependency.  But AFAIS we don’t have a way to support multiple heapless versions because heapless does not have a way to construct a vec from raw parts.

This can be implemented manually through copying if necessary. This is IMHO better than have a breaking change.

Copying is fine for conversions, but I think it would be very counter-intuitive for AsRef or Deref implementations.

Right. And we'll want to update mostly for the view types, and the semver compatibility of that pattern is questionable, so we might want a breaking change here too.