From 8c66b98bca6ed0a2990903fe8e0ea72def5c7be8 Mon Sep 17 00:00:00 2001 From: HampusM Date: Sun, 21 Aug 2022 14:19:07 +0200 Subject: 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 --- examples/with-3rd-party/bootstrap.rs | 5 +++-- examples/with-3rd-party/main.rs | 25 ++++--------------------- 2 files changed, 7 insertions(+), 23 deletions(-) (limited to 'examples/with-3rd-party') 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 +pub fn bootstrap() -> Result> { 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> { println!("Hello, world!"); - let di_container = bootstrap().change_context(ApplicationError)?; + let di_container = bootstrap()?; - let ninja = di_container - .get::() - .change_context(ApplicationError)?; + let ninja = di_container.get::()?; ninja.throw_shuriken(); -- cgit v1.2.3-18-g5258