Stop mixing Result and Option with ? in inline_local_variable

Depending on the discussion in RFC#3058 this might not end up being necessary, but I think it's a reasonable change regardless.
This commit is contained in:
Scott McMurray 2021-02-20 14:45:30 -08:00
parent 62bc753f8b
commit 0fe44d099a

View File

@ -78,10 +78,10 @@ pub(crate) fn inline_local_variable(acc: &mut Assists, ctx: &AssistContext) -> O
usage_node.syntax().parent().and_then(ast::Expr::cast);
let usage_parent = match usage_parent_option {
Some(u) => u,
None => return Ok(false),
None => return Some(false),
};
Ok(!matches!(
Some(!matches!(
(&initializer_expr, usage_parent),
(ast::Expr::CallExpr(_), _)
| (ast::Expr::IndexExpr(_), _)
@ -107,10 +107,10 @@ pub(crate) fn inline_local_variable(acc: &mut Assists, ctx: &AssistContext) -> O
| (_, ast::Expr::MatchExpr(_))
))
})
.collect::<Result<_, _>>()
.collect::<Option<_>>()
.map(|b| (file_id, b))
})
.collect::<Result<FxHashMap<_, Vec<_>>, _>>()?;
.collect::<Option<FxHashMap<_, Vec<_>>>>()?;
let init_str = initializer_expr.syntax().text().to_string();
let init_in_paren = format!("({})", &init_str);