Skip to main content

sequoia_seq/
error.rs

1use std::fmt;
2
3#[derive(Clone, Debug, PartialEq, Eq)]
4pub struct SeqError {
5    pub file: String,
6
7    pub line: usize,
8
9    pub col: usize,
10
11    pub message: String,
12}
13
14impl SeqError {
15    pub fn new(
16        file: impl Into<String>,
17        line: usize,
18        col: usize,
19        message: impl Into<String>,
20    ) -> Self {
21        Self {
22            file: file.into(),
23            line,
24            col,
25            message: message.into(),
26        }
27    }
28}
29
30impl fmt::Display for SeqError {
31    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
32        write!(
33            f,
34            "{}:{}:{}: {}",
35            self.file, self.line, self.col, self.message
36        )
37    }
38}
39
40impl std::error::Error for SeqError {}