about summary refs log tree commit diff
path: root/src/tools/miri/tests/pass/issues/issue-73223.rs
blob: df13787aad69820c43666b14328efb0dcc86b5db (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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..]
    }
}