aboutsummaryrefslogtreecommitdiff
path: root/examples/with-3rd-party
diff options
context:
space:
mode:
authorHampusM <hampus@hampusmat.com>2022-08-21 14:19:07 +0200
committerHampusM <hampus@hampusmat.com>2022-08-21 18:17:51 +0200
commit8c66b98bca6ed0a2990903fe8e0ea72def5c7be8 (patch)
treedeed78171051262dba7e8d97eba73a9aaf04dd5e /examples/with-3rd-party
parentb3e1b993b028bbfa73638236cfbdb50ee478d3f0 (diff)
refactor!: change errors to be more sane
BREAKING CHANGE: Major improvements have been made to error types and the error_stack crate is no longer used
Diffstat (limited to 'examples/with-3rd-party')
-rw-r--r--examples/with-3rd-party/bootstrap.rs5
-rw-r--r--examples/with-3rd-party/main.rs25
2 files changed, 7 insertions, 23 deletions
diff --git a/examples/with-3rd-party/bootstrap.rs b/examples/with-3rd-party/bootstrap.rs
index 1ab3192..49de7fa 100644
--- a/examples/with-3rd-party/bootstrap.rs
+++ b/examples/with-3rd-party/bootstrap.rs
@@ -1,4 +1,5 @@
-use syrette::errors::di_container::BindingBuilderError;
+use std::error::Error;
+
use syrette::ptr::TransientPtr;
use syrette::{declare_default_factory, DIContainer};
use third_party_lib::Shuriken;
@@ -11,7 +12,7 @@ use crate::ninja::Ninja;
declare_default_factory!(Shuriken);
-pub fn bootstrap() -> error_stack::Result<DIContainer, BindingBuilderError>
+pub fn bootstrap() -> Result<DIContainer, Box<dyn Error>>
{
let mut di_container: DIContainer = DIContainer::new();
diff --git a/examples/with-3rd-party/main.rs b/examples/with-3rd-party/main.rs
index f615ff5..dd4c21f 100644
--- a/examples/with-3rd-party/main.rs
+++ b/examples/with-3rd-party/main.rs
@@ -2,39 +2,22 @@
#![deny(clippy::pedantic)]
#![allow(clippy::module_name_repetitions)]
-use std::fmt::Display;
+use std::error::Error;
mod bootstrap;
mod interfaces;
mod ninja;
-use error_stack::{Context, ResultExt};
-
use crate::bootstrap::bootstrap;
use crate::interfaces::ninja::INinja;
-#[derive(Debug)]
-struct ApplicationError;
-
-impl Display for ApplicationError
-{
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result
- {
- f.write_str("An application error has occurred")
- }
-}
-
-impl Context for ApplicationError {}
-
-fn main() -> error_stack::Result<(), ApplicationError>
+fn main() -> Result<(), Box<dyn Error>>
{
println!("Hello, world!");
- let di_container = bootstrap().change_context(ApplicationError)?;
+ let di_container = bootstrap()?;
- let ninja = di_container
- .get::<dyn INinja>()
- .change_context(ApplicationError)?;
+ let ninja = di_container.get::<dyn INinja>()?;
ninja.throw_shuriken();