doc/wg/core/notes/core-notes-2022-05-13.md
Two versions of digest trait: one mut, one not mut.
Useful to support non mut for data stored in flash.
PR changes LeasableBuffer to LeasableMutableBuffer for mutable data. Adds
LeasableBuffer for immutable data.
Decision: expose mut/imut in interface, or handle internally?
First attempt: wrap in MutImutBuffer. What happens if start with imut, but
get mut data back? Can't do anything, basically have to panic.
Need to separate mut and imut to match Rust's ownership model and asynchronous programming.
Why not combine mut and imut functions in same trait? Why two traits? Is there ever a case where you wouldn't be able to support both?
Handle asynchronicity with suspend points in the kernel.
Users of Digest HIL want to be able use imut data
Should other HILs also use this method?
Reality is this solution is not great, but not clear there is a better solution.
Need to work on PR for potential alternatives.