Unnamed repository; edit this file 'description' to name the repository.
Add LetStmt doc for convert_to_guarded_return
A4-Tacks 8 months ago
parent 1f4e5e8 · commit d84227a
-rw-r--r--crates/ide-assists/src/handlers/convert_to_guarded_return.rs15
-rw-r--r--crates/ide-assists/src/tests/generated.rs20
2 files changed, 35 insertions, 0 deletions
diff --git a/crates/ide-assists/src/handlers/convert_to_guarded_return.rs b/crates/ide-assists/src/handlers/convert_to_guarded_return.rs
index 2ea032fb62..003686d17c 100644
--- a/crates/ide-assists/src/handlers/convert_to_guarded_return.rs
+++ b/crates/ide-assists/src/handlers/convert_to_guarded_return.rs
@@ -43,6 +43,21 @@ use crate::{
// bar();
// }
// ```
+// ---
+// ```
+// //- minicore: option
+// fn foo() -> Option<i32> { None }
+// fn main() {
+// $0let x = foo();
+// }
+// ```
+// ->
+// ```
+// fn foo() -> Option<i32> { None }
+// fn main() {
+// let Some(x) = foo() else { return };
+// }
+// ```
pub(crate) fn convert_to_guarded_return(acc: &mut Assists, ctx: &AssistContext<'_>) -> Option<()> {
if let Some(let_stmt) = ctx.find_node_at_offset() {
let_stmt_to_guarded_return(let_stmt, acc, ctx)
diff --git a/crates/ide-assists/src/tests/generated.rs b/crates/ide-assists/src/tests/generated.rs
index 91348be97e..88d54ba80a 100644
--- a/crates/ide-assists/src/tests/generated.rs
+++ b/crates/ide-assists/src/tests/generated.rs
@@ -737,6 +737,26 @@ fn main() {
}
#[test]
+fn doctest_convert_to_guarded_return_1() {
+ check_doc_test(
+ "convert_to_guarded_return",
+ r#####"
+//- minicore: option
+fn foo() -> Option<i32> { None }
+fn main() {
+ $0let x = foo();
+}
+"#####,
+ r#####"
+fn foo() -> Option<i32> { None }
+fn main() {
+ let Some(x) = foo() else { return };
+}
+"#####,
+ )
+}
+
+#[test]
fn doctest_convert_tuple_return_type_to_struct() {
check_doc_test(
"convert_tuple_return_type_to_struct",