//! Error types. use std::ops::Range; #[derive(Debug, thiserror::Error)] pub enum Error { #[error("invalid range {0:?}, start is larger than end")] InvalidRange(Range), #[error("invalid range {0:?}, original data is only {1} byte long")] DataLengthExceeded(Range, usize), #[error("could not replace range {0:?}, maybe parts of it were already replaced?")] MaybeAlreadyReplaced(Range), #[error("cannot replace slice of data that was already replaced")] AlreadyReplaced, #[error(transparent)] Utf8(#[from] std::string::FromUtf8Error), }