aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/injectable.rs
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2023-10-01 22:15:28 +0200
committerHampusM <hampus@hampusmat.com>2023-10-01 22:16:10 +0200
commite0d399133b0c06011c9b775fd545ce649be37ff4 (patch)
tree5da31283d1cd182708f02c003ec5a741b8436153 /src/interfaces/injectable.rs
parent1fd1b6607f53eba5f753943fe854fa9acc0d9a68 (diff)
feat: implement Injectable & AsyncInjectable for Default types
Diffstat (limited to 'src/interfaces/injectable.rs')
-rw-r--r--src/interfaces/injectable.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/interfaces/injectable.rs b/src/interfaces/injectable.rs
index d82f042..1d3a1a7 100644
--- a/src/interfaces/injectable.rs
+++ b/src/interfaces/injectable.rs
@@ -30,3 +30,16 @@ impl<DIContainerT> Debug for dyn Injectable<DIContainerT>
f.write_str("{}")
}
}
+
+impl<T, DIContainerT> Injectable<DIContainerT> for T
+where
+ T: Default + 'static,
+{
+ fn resolve(
+ _: &DIContainerT,
+ _: DependencyHistory,
+ ) -> Result<TransientPtr<Self>, InjectableError>
+ {
+ Ok(TransientPtr::new(Self::default()))
+ }
+}