blob: df13787aad69820c43666b14328efb0dcc86b5db [file] [log] [blame]
fn main() {
let mut state = State { prev: None, next: Some(8) };
let path = "/nested/some/more";
assert_eq!(state.rest(path), "some/more");
}
#[allow(unused)]
struct State {
prev: Option<usize>,
next: Option<usize>,
}
impl State {
fn rest<'r>(&mut self, path: &'r str) -> &'r str {
let start = match self.next.take() {
Some(v) => v,
None => return "",
};
self.prev = Some(start);
&path[start..]
}
}