diff options
author | HampusM <hampus@hampusmat.com> | 2022-08-25 20:21:49 +0200 |
---|---|---|
committer | HampusM <hampus@hampusmat.com> | 2022-08-27 14:28:23 +0200 |
commit | 1c46b68581213ca8ae6200daa32f626b5389b4b0 (patch) | |
tree | 8da649471db7893a2347a2df383324b84ac226f0 /src/errors/di_container.rs | |
parent | 8e862c7998d0b59c71d20cbcbbc57031f734b6fa (diff) |
refactor!: make DI container have single get function
BREAKING CHANGE: The DI container get_singleton & get_factory functions have been replaced by the get function now returning a enum
Diffstat (limited to 'src/errors/di_container.rs')
-rw-r--r-- | src/errors/di_container.rs | 20 |
1 files changed, 5 insertions, 15 deletions
diff --git a/src/errors/di_container.rs b/src/errors/di_container.rs index 98c2be4..4a74b5d 100644 --- a/src/errors/di_container.rs +++ b/src/errors/di_container.rs @@ -14,20 +14,6 @@ pub enum DIContainerError #[error("Unable to cast binding for interface '{0}'")] CastFailed(&'static str), - /// Wrong binding type. - #[error("Wrong binding type for interface '{interface}'. Expected a {expected}. Found a {found}")] - WrongBindingType - { - /// The affected bound interface. - interface: &'static str, - - /// The expected binding type. - expected: &'static str, - - /// The found binding type. - found: String, - }, - /// Failed to resolve a binding for a interface. #[error("Failed to resolve binding for interface '{interface}'")] BindingResolveFailed @@ -43,6 +29,10 @@ pub enum DIContainerError /// No binding exists for a interface. #[error("No binding exists for interface '{0}'")] BindingNotFound(&'static str), + + /// The binding for a interface is a factory but the factory feature isn't enabled. + #[error("The binding for interface '{0}' is a factory but the factory feature isn't enabled")] + CantHandleFactoryBinding(&'static str), } /// Error type for [`BindingBuilder`]. @@ -58,7 +48,7 @@ pub enum BindingBuilderError /// Error type for [`BindingScopeConfigurator`]. /// -/// [`BindingBuilder`]: crate::di_container::BindingScopeConfigurator +/// [`BindingScopeConfigurator`]: crate::di_container::BindingScopeConfigurator #[derive(thiserror::Error, Debug)] pub enum BindingScopeConfiguratorError { |