… is a small helper data structure that allows a stack-allocated buffer to be reused while keeping data that couldn't be handled immediately.
Example:
```rust
use rotating_buffer::*;
let mut buf = RotatingBuffer::
buf.getappendonly().copyfromslice(&[1, 2, 3, 4]); buf.addlen(4); asserteq!(&[1, 2, 3, 4], buf.as_slice());
buf.rotaterightandresizeat(3); asserteq!(&[4], buf.asslice());
asserteq!(3, buf.getappendonly().len()); buf.getappendonly().copyfromslice(&[5, 6, 7]); buf.addlen(3); asserteq!(&[4, 5, 6, 7], buf.asslice());
buf.rotaterightandresizeat(4); asserteq!(buf.asslice().len(), 0); ```
Inspired by a pairing session at Recurse Center 👩💻🐙