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