Expand description
With this crate, you can conveniently chip pieces off a slice or str
to use elsewhere.
§Example
use gnaw::{Drain as _, Pop as _, Unshift as _};
let mut text = "abcdefg";
assert_eq!(text.unshift(), Some('a'));
assert_eq!(text.pop(), Some('g'));
let mut drain = text.drain();
assert_eq!(drain.next(), Some('b'));
assert_eq!(drain.next(), Some('c'));
assert_eq!(drain.next_back(), Some('f'));
assert_eq!(drain.next_back(), Some('e'));
drop(drain);
//TODO: Why isn't the mutable borrow released here?
//assert_eq!(text, "d");