mirror of
https://github.com/rust-lang/rust-analyzer
synced 2025-01-12 05:08:52 +00:00
internal: make::expr_tuple
should return ast::TupleExpr
This commit is contained in:
parent
c549be9ab6
commit
f388482119
6 changed files with 9 additions and 8 deletions
|
@ -1879,7 +1879,7 @@ fn make_body(ctx: &AssistContext<'_>, old_indent: IndentLevel, fun: &Function) -
|
||||||
.iter()
|
.iter()
|
||||||
.map(|var| path_expr_from_local(ctx, var.local, fun.mods.edition));
|
.map(|var| path_expr_from_local(ctx, var.local, fun.mods.edition));
|
||||||
let expr = make::expr_tuple(exprs);
|
let expr = make::expr_tuple(exprs);
|
||||||
tail_expr = Some(expr);
|
tail_expr = Some(expr.into());
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@ -2130,13 +2130,13 @@ fn make_rewritten_flow(handler: &FlowHandler, arg_expr: Option<ast::Expr>) -> Op
|
||||||
make::arg_list(iter::once(make::expr_unit())),
|
make::arg_list(iter::once(make::expr_unit())),
|
||||||
),
|
),
|
||||||
FlowHandler::IfOption { .. } => {
|
FlowHandler::IfOption { .. } => {
|
||||||
let expr = arg_expr.unwrap_or_else(|| make::expr_tuple(Vec::new()));
|
let expr = arg_expr.unwrap_or_else(|| make::expr_unit());
|
||||||
let args = make::arg_list(iter::once(expr));
|
let args = make::arg_list(iter::once(expr));
|
||||||
make::expr_call(make::expr_path(make::ext::ident_path("Some")), args)
|
make::expr_call(make::expr_path(make::ext::ident_path("Some")), args)
|
||||||
}
|
}
|
||||||
FlowHandler::MatchOption { .. } => make::expr_path(make::ext::ident_path("None")),
|
FlowHandler::MatchOption { .. } => make::expr_path(make::ext::ident_path("None")),
|
||||||
FlowHandler::MatchResult { .. } => {
|
FlowHandler::MatchResult { .. } => {
|
||||||
let expr = arg_expr.unwrap_or_else(|| make::expr_tuple(Vec::new()));
|
let expr = arg_expr.unwrap_or_else(|| make::expr_unit());
|
||||||
let args = make::arg_list(iter::once(expr));
|
let args = make::arg_list(iter::once(expr));
|
||||||
make::expr_call(make::expr_path(make::ext::ident_path("Err")), args)
|
make::expr_call(make::expr_path(make::ext::ident_path("Err")), args)
|
||||||
}
|
}
|
||||||
|
|
|
@ -152,7 +152,7 @@ fn compute_dbg_replacement(macro_expr: ast::MacroExpr) -> Option<(TextRange, Opt
|
||||||
exprs => {
|
exprs => {
|
||||||
let exprs = exprs.iter().cloned().map(replace_nested_dbgs);
|
let exprs = exprs.iter().cloned().map(replace_nested_dbgs);
|
||||||
let expr = make::expr_tuple(exprs);
|
let expr = make::expr_tuple(exprs);
|
||||||
(macro_call.syntax().text_range(), Some(expr))
|
(macro_call.syntax().text_range(), Some(expr.into()))
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,7 +61,7 @@ pub(crate) fn unwrap_block(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
None => {
|
None => {
|
||||||
let empty_tuple = make::expr_tuple([]);
|
let empty_tuple = make::expr_unit();
|
||||||
make::let_stmt(pattern, ty, Some(empty_tuple)).to_string()
|
make::let_stmt(pattern, ty, Some(empty_tuple)).to_string()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -541,7 +541,7 @@ fn gen_partial_eq(adt: &ast::Adt, func: &ast::Fn, trait_ref: Option<TraitRef>) -
|
||||||
arms.push(make::match_arm(Some(lhs), None, rhs));
|
arms.push(make::match_arm(Some(lhs), None, rhs));
|
||||||
}
|
}
|
||||||
|
|
||||||
let match_target = make::expr_tuple(vec![lhs_name, rhs_name]);
|
let match_target = make::expr_tuple([lhs_name, rhs_name]).into();
|
||||||
let list = make::match_arm_list(arms).indent(ast::edit::IndentLevel(1));
|
let list = make::match_arm_list(arms).indent(ast::edit::IndentLevel(1));
|
||||||
make::expr_match(match_target, list)
|
make::expr_match(match_target, list)
|
||||||
}
|
}
|
||||||
|
|
|
@ -656,7 +656,7 @@ pub fn expr_field(receiver: ast::Expr, field: &str) -> ast::Expr {
|
||||||
pub fn expr_paren(expr: ast::Expr) -> ast::Expr {
|
pub fn expr_paren(expr: ast::Expr) -> ast::Expr {
|
||||||
expr_from_text(&format!("({expr})"))
|
expr_from_text(&format!("({expr})"))
|
||||||
}
|
}
|
||||||
pub fn expr_tuple(elements: impl IntoIterator<Item = ast::Expr>) -> ast::Expr {
|
pub fn expr_tuple(elements: impl IntoIterator<Item = ast::Expr>) -> ast::TupleExpr {
|
||||||
let expr = elements.into_iter().format(", ");
|
let expr = elements.into_iter().format(", ");
|
||||||
expr_from_text(&format!("({expr})"))
|
expr_from_text(&format!("({expr})"))
|
||||||
}
|
}
|
||||||
|
|
|
@ -344,7 +344,8 @@ mod tests {
|
||||||
make::expr_literal("2").into(),
|
make::expr_literal("2").into(),
|
||||||
),
|
),
|
||||||
make::expr_literal("true").into(),
|
make::expr_literal("true").into(),
|
||||||
]),
|
])
|
||||||
|
.into(),
|
||||||
);
|
);
|
||||||
|
|
||||||
let to_wrap = root.syntax().descendants().find_map(ast::TupleExpr::cast).unwrap();
|
let to_wrap = root.syntax().descendants().find_map(ast::TupleExpr::cast).unwrap();
|
||||||
|
|
Loading…
Reference in a new issue