mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-29 21:35:20 +00:00
Handle IfLet in convert_to_guarded_return.
This commit is contained in:
parent
998088876d
commit
4a4d9f7a90
2 changed files with 171 additions and 28 deletions
|
@ -110,6 +110,22 @@ pub fn match_arm_list(arms: impl Iterator<Item = ast::MatchArm>) -> ast::MatchAr
|
|||
}
|
||||
}
|
||||
|
||||
pub fn let_match_early(expr: ast::Expr, early_expression: &str) -> ast::LetStmt {
|
||||
return from_text(&format!(
|
||||
r#"let {} = match {} {{
|
||||
Some(it) => it,
|
||||
None => {},
|
||||
}};"#,
|
||||
expr.syntax().text(),
|
||||
expr.syntax().text(),
|
||||
early_expression
|
||||
));
|
||||
|
||||
fn from_text(text: &str) -> ast::LetStmt {
|
||||
ast_from_text(&format!("fn f() {{ {} }}", text))
|
||||
}
|
||||
}
|
||||
|
||||
pub fn where_pred(path: ast::Path, bounds: impl Iterator<Item = ast::TypeBound>) -> ast::WherePred {
|
||||
let bounds = bounds.map(|b| b.syntax().to_string()).join(" + ");
|
||||
return from_text(&format!("{}: {}", path.syntax(), bounds));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue