1use thiserror::Error;
2
3use crate::data::error::DataError;
4use crate::layout::error::LayoutError;
5use crate::output::error::OutputError;
6
7#[derive(Debug, Error)]
8pub enum MintError {
9 #[error(transparent)]
10 Layout(#[from] LayoutError),
11
12 #[error(transparent)]
13 Data(#[from] DataError),
14
15 #[error(transparent)]
16 Output(#[from] OutputError),
17
18 #[error("While building block '{block_name}' from '{layout_file}': {source}")]
19 InBlock {
20 block_name: String,
21 layout_file: String,
22 #[source]
23 source: Box<MintError>,
24 },
25}