fn complete_cache_result( cache: Option<&Session>, rules: &[&'static Rule], target_rels: Option<&HashSet<String>>, ) -> Option<(Vec<Violation>, Vec<(String, Fix)>, Vec<TreeFix>)>