peacock_pinion/xml/
error.rs1use derive_more::From;
2
3use super::StoreIndex;
4
5#[derive(Debug)]
6pub struct SourceReadFailureContents {
7 pub entry_index: StoreIndex,
8 pub failure_message: String,
9}
10
11#[derive(Debug, From)]
12pub enum Error {
13 #[from]
14 Native(xmltree::Error),
15
16 #[from]
17 SourceReadFailure(SourceReadFailureContents),
18
19 AlreadyInStore(StoreIndex),
20}
21
22impl std::fmt::Display for SourceReadFailureContents {
23 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
24 write!(f, "{}", self.failure_message)
25 }
26}
27
28impl std::fmt::Display for Error {
29 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
30 write!(f, "{self:?}")
31 }
32}
33
34impl std::error::Error for SourceReadFailureContents {}
35impl std::error::Error for Error {}