diff options
| author | HampusM <hampus@hampusmat.com> | 2022-08-02 17:30:21 +0200 | 
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2022-08-02 17:30:21 +0200 | 
| commit | f35b3d29d8ed521f69522aa0fda594f277c72b5c (patch) | |
| tree | 341a61ff1e0e8e528197c30edee9e4745df65a27 /macros | |
| parent | c6aa8be159b83ceb74472f95490f78cf72b74cc9 (diff) | |
refactor: move creating a dependency trace to it's own function
Diffstat (limited to 'macros')
| -rw-r--r-- | macros/src/injectable_impl.rs | 23 | 
1 files changed, 6 insertions, 17 deletions
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::<Vec<_>>() -                            .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                                      ) -                                ) +                                ))                          );                      }  | 
