use std::error::Error;
use thiserror::Error as ThisError;
#[derive(ThisError, Debug)]
pub enum DLockError<R = ()> {
#[error("provider error: {0}")]
ProviderError(Box<dyn Error + Send + Sync>),
#[error("lock already acquired")]
AlreadyAcquired(R),
#[error("lock already released")]
AlreadyReleased,
}