pub struct Mark { /* private fields */ }Expand description
A mark struct used to mark positions in a TokenStream for backtracking
§Examples
use slk_tokenstream::TokenStream;
use slk_tokenstream::Mark;
let tokens = &[1, 2, 3];
let mut token_stream = TokenStream::new(tokens);
let mark: Mark = token_stream.mark();
token_stream.advance(5);
assert_eq!(token_stream.peek(), None);
token_stream.reset(&mark);
assert_eq!(token_stream.peek(), Some(&1));Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Mark
impl RefUnwindSafe for Mark
impl Send for Mark
impl Sync for Mark
impl Unpin for Mark
impl UnsafeUnpin for Mark
impl UnwindSafe for Mark
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more