From 800e164a83388aa5ca7675f8031b0f0d7c6b6051 Mon Sep 17 00:00:00 2001 From: HampusM Date: Wed, 16 Aug 2023 22:35:47 +0200 Subject: test: make the prevent-circular example an integration test --- examples/prevent-circular/main.rs | 52 --------------------------------------- 1 file changed, 52 deletions(-) delete mode 100644 examples/prevent-circular/main.rs (limited to 'examples/prevent-circular') diff --git a/examples/prevent-circular/main.rs b/examples/prevent-circular/main.rs deleted file mode 100644 index c690a9c..0000000 --- a/examples/prevent-circular/main.rs +++ /dev/null @@ -1,52 +0,0 @@ -//! Example demonstrating the prevention of circular dependencies. -//! -//! Having circular dependencies is generally bad practice and is detected by Syrette when -//! the `prevent-circular` feature is enabled. -#![deny(clippy::all)] -#![deny(clippy::pedantic)] -#![allow(clippy::disallowed_names)] - -use syrette::di_container::blocking::prelude::*; -use syrette::injectable; -use syrette::ptr::TransientPtr; - -struct Foo -{ - _bar: TransientPtr, -} - -#[injectable] -impl Foo -{ - fn new(bar: TransientPtr) -> Self - { - Self { _bar: bar } - } -} - -struct Bar -{ - _foo: TransientPtr, -} - -#[injectable] -impl Bar -{ - fn new(foo: TransientPtr) -> Self - { - Self { _foo: foo } - } -} - -fn main() -> Result<(), anyhow::Error> -{ - let mut di_container = DIContainer::new(); - - di_container.bind::().to::()?; - di_container.bind::().to::()?; - - // The following won't work. Err will be returned. - let _foo = di_container.get::()?.transient()?; - - Ok(()) -} -- cgit v1.2.3-18-g5258