/rust/registry/src/index.crates.io-6f17d22bba15001f/arbitrary-1.1.3/src/error.rs
Line | Count | Source (jump to first uncovered line) |
1 | | use std::{error, fmt}; |
2 | | |
3 | | /// An enumeration of buffer creation errors |
4 | | #[derive(Debug, Clone, Copy)] |
5 | | #[non_exhaustive] |
6 | | pub enum Error { |
7 | | /// No choices were provided to the Unstructured::choose call |
8 | | EmptyChoose, |
9 | | /// There was not enough underlying data to fulfill some request for raw |
10 | | /// bytes. |
11 | | NotEnoughData, |
12 | | /// The input bytes were not of the right format |
13 | | IncorrectFormat, |
14 | | } |
15 | | |
16 | | impl fmt::Display for Error { |
17 | 0 | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
18 | 0 | match self { |
19 | 0 | Error::EmptyChoose => write!( |
20 | 0 | f, |
21 | 0 | "`arbitrary::Unstructured::choose` must be given a non-empty set of choices" |
22 | 0 | ), |
23 | 0 | Error::NotEnoughData => write!( |
24 | 0 | f, |
25 | 0 | "There is not enough underlying raw data to construct an `Arbitrary` instance" |
26 | 0 | ), |
27 | 0 | Error::IncorrectFormat => write!( |
28 | 0 | f, |
29 | 0 | "The raw data is not of the correct format to construct this type" |
30 | 0 | ), |
31 | | } |
32 | 0 | } |
33 | | } |
34 | | |
35 | | impl error::Error for Error {} |
36 | | |
37 | | /// A `Result` with the error type fixed as `arbitrary::Error`. |
38 | | /// |
39 | | /// Either an `Ok(T)` or `Err(arbitrary::Error)`. |
40 | | pub type Result<T> = std::result::Result<T, Error>; |