From f35b3d29d8ed521f69522aa0fda594f277c72b5c Mon Sep 17 00:00:00 2001 From: HampusM Date: Tue, 2 Aug 2022 17:30:21 +0200 Subject: refactor: move creating a dependency trace to it's own function --- macros/src/injectable_impl.rs | 23 ++++++----------------- 1 file changed, 6 insertions(+), 17 deletions(-) (limited to 'macros/src/injectable_impl.rs') diff --git a/macros/src/injectable_impl.rs b/macros/src/injectable_impl.rs index b24749c..3bd7113 100644 --- a/macros/src/injectable_impl.rs +++ b/macros/src/injectable_impl.rs @@ -86,26 +86,15 @@ impl InjectableImpl if dependency_history.contains(&self_type_name) { dependency_history.push(self_type_name); - let dependency_trace = dependency_history - .iter() - .map(|dep| { - if dep == &self_type_name { - format!("\x1b[1m{}\x1b[22m", dep) - } else { - dep.to_string() - } - }) - .collect::>() - .join(" -> "); - return Err( report!(ResolveError) - .attach_printable( - format!( - "Detected circular dependencies. {}", - dependency_trace.clone(), + .attach_printable(format!( + "Detected circular dependencies. {}", + syrette::dependency_trace::create_dependency_trace( + dependency_history.as_slice(), + self_type_name ) - ) + )) ); } -- cgit v1.2.3-18-g5258