aboutsummaryrefslogtreecommitdiff
path: root/examples/basic/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/basic/main.rs')
-rw-r--r--examples/basic/main.rs30
1 files changed, 30 insertions, 0 deletions
diff --git a/examples/basic/main.rs b/examples/basic/main.rs
new file mode 100644
index 0000000..956b79e
--- /dev/null
+++ b/examples/basic/main.rs
@@ -0,0 +1,30 @@
+#![deny(clippy::all)]
+#![deny(clippy::pedantic)]
+#![allow(clippy::module_name_repetitions)]
+
+use syrette::errors::di_container::DIContainerError;
+
+mod animals;
+mod bootstrap;
+mod interfaces;
+
+use bootstrap::bootstrap;
+use interfaces::dog::IDog;
+use interfaces::human::IHuman;
+
+fn main() -> error_stack::Result<(), DIContainerError>
+{
+ println!("Hello, world!");
+
+ let di_container = bootstrap();
+
+ let dog = di_container.get::<dyn IDog>()?;
+
+ dog.woof();
+
+ let human = di_container.get::<dyn IHuman>()?;
+
+ human.make_pets_make_sounds();
+
+ Ok(())
+}