use crate::dependency_history::DependencyHistory;
use crate::errors::di_container::DIContainerError;
#[derive(thiserror::Error, Debug)]
pub enum InjectableError
{
#[error("Failed to resolve a dependency of '{affected}'")]
ResolveFailed
{
#[source]
reason: Box<DIContainerError>,
affected: &'static str,
},
#[cfg(feature = "async")]
#[error("Failed to resolve a dependency of '{affected}'")]
AsyncResolveFailed
{
#[source]
reason: Box<crate::errors::async_di_container::AsyncDIContainerError>,
affected: &'static str,
},
#[error("Detected circular dependencies. {dependency_history}")]
DetectedCircular
{
dependency_history: DependencyHistory,
},
}