advent_of_utils_cli/error/
solution.rs

1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum SolutionError {
5    #[error("Solution failed: {msg}")]
6    ExecutionFailed {
7        msg: String,
8        #[source]
9        source: Option<Box<dyn std::error::Error + Send + Sync>>,
10    },
11
12    #[error("Solution timed out after {seconds} seconds")]
13    Timeout { seconds: u64 },
14
15    #[error("Invalid solution result: {0}")]
16    InvalidResult(String),
17
18    #[error("Solution not implemented")]
19    NotImplemented,
20}