serde_hkx/errors/
de.rs
1use crate::lib::*;
3
4#[derive(Debug, PartialEq, snafu::Snafu)]
6pub enum Error {
7 Message {
9 msg: String,
11 },
12
13 LackOfConstructors { actual: usize, expected: usize },
15
16 NotFoundDataLocalFixupsValue { key: u32 },
18
19 NotFoundClass { index: usize, start_offset: u32 },
21
22 NotFoundClassPtr,
24
25 TrailingBytes,
27
28 Eof,
30
31 TrailingCharacters { remain: String },
33
34 MismatchClassName {
36 actual: &'static str,
37 expected: String,
38 },
39
40 #[snafu(display("{err}"))]
42 ContextError {
43 err: winnow::error::ErrMode<winnow::error::ContextError>,
44 },
45
46 #[snafu(transparent)]
48 ReadableError {
49 source: super::readable::ReadableError,
50 },
51}
52
53impl havok_serde::de::Error for Error {
54 fn custom<T>(msg: T) -> Self
55 where
56 T: Display,
57 {
58 Self::Message {
59 msg: msg.to_string(),
60 }
61 }
62}
63
64pub type Result<T, E = Error> = core::result::Result<T, E>;