aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2022-07-31 17:27:33 +0200
committerHampusM <hampus@hampusmat.com>2022-08-01 15:26:43 +0200
commit7a6575220c6d9db564514bcbee552faa29095738 (patch)
tree19a97692bde26f994892830f0ff6f8cc23f611e1 /src/interfaces
parente20e442ee84918f8f06794ebb1a389a3a04bcdcc (diff)
docs: add doc comments & deny missing docs
Diffstat (limited to 'src/interfaces')
-rw-r--r--src/interfaces/any_factory.rs3
-rw-r--r--src/interfaces/factory.rs11
-rw-r--r--src/interfaces/injectable.rs2
-rw-r--r--src/interfaces/mod.rs2
4 files changed, 18 insertions, 0 deletions
diff --git a/src/interfaces/any_factory.rs b/src/interfaces/any_factory.rs
index 41063e1..98ec144 100644
--- a/src/interfaces/any_factory.rs
+++ b/src/interfaces/any_factory.rs
@@ -1,3 +1,6 @@
+//! Interface for any factory to ever exist.
+
use crate::libs::intertrait::CastFrom;
+/// Interface for any factory to ever exist.
pub trait AnyFactory: CastFrom {}
diff --git a/src/interfaces/factory.rs b/src/interfaces/factory.rs
index 6f8e7c7..d3d55da 100644
--- a/src/interfaces/factory.rs
+++ b/src/interfaces/factory.rs
@@ -1,7 +1,18 @@
#![allow(clippy::module_name_repetitions)]
+
+//! Interface for a factory.
+
use crate::libs::intertrait::CastFrom;
use crate::ptr::TransientPtr;
+/// Interface for a factory.
+///
+/// # Examples
+/// ```
+/// use syrette::interface::factory::IFactory;
+///
+/// type StringFactory = dyn IFactory<(), String>;
+/// ```
pub trait IFactory<Args, ReturnInterface>:
Fn<Args, Output = TransientPtr<ReturnInterface>> + CastFrom
where
diff --git a/src/interfaces/injectable.rs b/src/interfaces/injectable.rs
index 0af1217..31cd21b 100644
--- a/src/interfaces/injectable.rs
+++ b/src/interfaces/injectable.rs
@@ -1,8 +1,10 @@
+//! Interface for structs that can be injected into or be injected to.
use crate::errors::injectable::ResolveError;
use crate::libs::intertrait::CastFrom;
use crate::ptr::TransientPtr;
use crate::DIContainer;
+/// Interface for structs that can be injected into or be injected to.
pub trait Injectable: CastFrom
{
/// Resolves the dependencies of the injectable.
diff --git a/src/interfaces/mod.rs b/src/interfaces/mod.rs
index 497521e..eef7190 100644
--- a/src/interfaces/mod.rs
+++ b/src/interfaces/mod.rs
@@ -1,3 +1,5 @@
+//! Various useful interfaces.
+
pub mod any_factory;
pub mod injectable;