diff --git a/tools/scanner/src/analysis.rs b/tools/scanner/src/analysis.rs index 744ca4aec9e5..89459de72520 100644 --- a/tools/scanner/src/analysis.rs +++ b/tools/scanner/src/analysis.rs @@ -34,7 +34,7 @@ struct FnStats { is_unsafe: Option, has_unsafe_ops: Option, has_unsupported_input: Option, - has_loop: Option, + has_loop_or_iterator: Option, } impl FnStats { @@ -44,8 +44,7 @@ impl FnStats { is_unsafe: None, has_unsafe_ops: None, has_unsupported_input: None, - // TODO: Implement this. - has_loop: None, + has_loop_or_iterator: None, } } } @@ -191,7 +190,10 @@ impl OverallStats { if !kind.is_fn() { return None; }; - Some(FnLoops::new(item.name()).collect(&item.body())) + let fn_props = FnLoops::new(item.name()).collect(&item.body()); + self.fn_stats.get_mut(&item).unwrap().has_loop_or_iterator = + Some(fn_props.has_iterators() || fn_props.has_loops()); + Some(fn_props) }) .partition::, _>(|props| props.has_iterators() || props.has_loops());