in gazebo_lint/src/lib.rs [217:232]
fn check_use_try_map(cx: &LateContext, expr: &Expr) {
let (root, method_names, _arg_lists, _method_spans) = clippy::method_calls(expr, 3);
if method_names == [sym!(collect), sym!(map), sym!(iter)] {
let expr_ty = cx.typeck_results().expr_ty(expr);
if clippy::match_ty_path(
cx,
expr_ty,
&["core", "result", "Result"],
&[&["alloc", "vec", "Vec"]],
) && cx.typeck_results().expr_ty_adjusted(root).is_slice()
{
emit_lint(cx, GAZEBO_LINT_USE_TRY_MAP, expr.span);
}
}
}