Skip to main content

changeset_core/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum ChangesetError {
5    #[error("IO error")]
6    Io(#[from] std::io::Error),
7
8    #[error("failed to parse version '{input}'")]
9    VersionParse {
10        input: String,
11        #[source]
12        source: semver::Error,
13    },
14}
15
16#[derive(Debug, Clone, PartialEq, Eq, Error)]
17pub enum PrereleaseSpecParseError {
18    #[error("prerelease identifier cannot be empty")]
19    Empty,
20
21    #[error("prerelease identifier '{0}' contains invalid character '{1}'")]
22    InvalidCharacter(String, char),
23}
24
25pub type Result<T> = std::result::Result<T, ChangesetError>;