pub enum Error {
OutOfBounds {
pos: usize,
len: usize,
},
UnknownTapeType {
tag: u8,
pos: usize,
},
UnexpectedTapeType {
found: u8,
pos: usize,
},
StringOutOfBounds {
offset: usize,
len: usize,
},
MissingValueWord {
pos: usize,
},
InvalidUtf8 {
source: Utf8Error,
pos: usize,
},
}Expand description
The error type returned by Tape operations.
Each variant names the concrete failure and carries the positions and lengths relevant to it, so callers can inspect what went wrong and where, rather than parsing a formatted message.
Variants§
OutOfBounds
The tape cursor advanced past the end of the tape.
UnknownTapeType
The tape word’s tag byte is not a recognised TapeType.
UnexpectedTapeType
The tape word’s type is recognised but not valid at this position
(e.g. a closing } where a value is expected, or a non-string node
where an object key is expected).
StringOutOfBounds
A string node’s offset or length runs past the end of string_buf.
MissingValueWord
A number node is missing its second (value) tape word.
InvalidUtf8
The string bytes at the node’s offset are not valid UTF-8.
Trait Implementations§
Source§impl Error for Error
impl Error for Error
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0:
use the Display impl or to_string()
Source§impl ErrorCompat for Error
impl ErrorCompat for Error
Source§fn iter_chain(&self) -> ChainCompat<'_, '_> ⓘwhere
Self: AsErrorSource,
fn iter_chain(&self) -> ChainCompat<'_, '_> ⓘwhere
Self: AsErrorSource,
Returns an iterator for traversing the chain of errors,
starting with the current error
and continuing with recursive calls to
Error::source. Read moreAuto Trait Implementations§
impl Freeze for Error
impl RefUnwindSafe for Error
impl Send for Error
impl Sync for Error
impl Unpin for Error
impl UnsafeUnpin for Error
impl UnwindSafe for Error
Blanket Implementations§
Source§impl<T> AsErrorSource for Twhere
T: Error + 'static,
impl<T> AsErrorSource for Twhere
T: Error + 'static,
Source§fn as_error_source(&self) -> &(dyn Error + 'static)
fn as_error_source(&self) -> &(dyn Error + 'static)
For maximum effectiveness, this needs to be called as a method
to benefit from Rust’s automatic dereferencing of method
receivers.
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