Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/completions/keyword.rs')
-rw-r--r--crates/ide-completion/src/completions/keyword.rs62
1 files changed, 62 insertions, 0 deletions
diff --git a/crates/ide-completion/src/completions/keyword.rs b/crates/ide-completion/src/completions/keyword.rs
index 3f50cd55cb..0acb87872f 100644
--- a/crates/ide-completion/src/completions/keyword.rs
+++ b/crates/ide-completion/src/completions/keyword.rs
@@ -151,6 +151,68 @@ fn foo(a: A) { a.$0 }
}
#[test]
+ fn for_in_impl() {
+ check_edit(
+ "for",
+ r#"
+struct X;
+impl X $0 {}
+"#,
+ r#"
+struct X;
+impl X for $0 {}
+"#,
+ );
+ check_edit(
+ "for",
+ r#"
+fn foo() {
+ struct X;
+ impl X $0 {}
+}
+"#,
+ r#"
+fn foo() {
+ struct X;
+ impl X for $0 {}
+}
+"#,
+ );
+ check_edit(
+ "for",
+ r#"
+fn foo() {
+ struct X;
+ impl X $0
+}
+"#,
+ r#"
+fn foo() {
+ struct X;
+ impl X for $0
+}
+"#,
+ );
+ check_edit(
+ "for",
+ r#"
+fn foo() {
+ struct X;
+ impl X { fn bar() { $0 } }
+}
+"#,
+ r#"
+fn foo() {
+ struct X;
+ impl X { fn bar() { for $1 in $2 {
+ $0
+} } }
+}
+"#,
+ );
+ }
+
+ #[test]
fn let_semi() {
cov_mark::check!(let_semi);
check_edit(