1 use thiserror::Error;
2 
3 /// Type alias to `Result<T, Error>`.
4 pub type Result<T, E = Error> = std::result::Result<T, E>;
5 
6 /// Error type of this crate.
7 #[derive(Debug, Error)]
8 pub enum Error {
9     #[error("Invalid character in name")]
10     InvalidCharacter,
11 
12     #[error("Name must not be empty")]
13     EmptyName,
14 
15     #[error("Failed to create named lock: {0}")]
16     CreateFailed(#[source] std::io::Error),
17 
18     #[error("Failed to lock named lock")]
19     LockFailed,
20 
21     #[error("Failed to unlock named lock")]
22     UnlockFailed,
23 
24     #[error("Named lock would block")]
25     WouldBlock,
26 }
27