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>;