Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-completion/src/tests/expression.rs')
-rw-r--r--crates/ide-completion/src/tests/expression.rs109
1 files changed, 109 insertions, 0 deletions
diff --git a/crates/ide-completion/src/tests/expression.rs b/crates/ide-completion/src/tests/expression.rs
index d0dc6206f4..e117dbf4bd 100644
--- a/crates/ide-completion/src/tests/expression.rs
+++ b/crates/ide-completion/src/tests/expression.rs
@@ -66,6 +66,7 @@ fn baz() {
kw loop
kw match
kw mut
+ kw raw
kw return
kw self::
kw true
@@ -437,6 +438,114 @@ fn completes_in_let_initializer() {
}
#[test]
+fn completes_after_ref_expr() {
+ check(
+ r#"fn main() { let _ = &$0 }"#,
+ expect![[r#"
+ fn main() fn()
+ bt u32 u32
+ kw crate::
+ kw false
+ kw for
+ kw if
+ kw if let
+ kw loop
+ kw match
+ kw mut
+ kw raw
+ kw return
+ kw self::
+ kw true
+ kw unsafe
+ kw while
+ kw while let
+ "#]],
+ );
+ check(
+ r#"fn main() { let _ = &raw $0 }"#,
+ expect![[r#"
+ fn main() fn()
+ bt u32 u32
+ kw const
+ kw crate::
+ kw false
+ kw for
+ kw if
+ kw if let
+ kw loop
+ kw match
+ kw mut
+ kw return
+ kw self::
+ kw true
+ kw unsafe
+ kw while
+ kw while let
+ "#]],
+ );
+ check(
+ r#"fn main() { let _ = &raw const $0 }"#,
+ expect![[r#"
+ fn main() fn()
+ bt u32 u32
+ kw crate::
+ kw false
+ kw for
+ kw if
+ kw if let
+ kw loop
+ kw match
+ kw return
+ kw self::
+ kw true
+ kw unsafe
+ kw while
+ kw while let
+ "#]],
+ );
+ check(
+ r#"fn main() { let _ = &raw mut $0 }"#,
+ expect![[r#"
+ fn main() fn()
+ bt u32 u32
+ kw crate::
+ kw false
+ kw for
+ kw if
+ kw if let
+ kw loop
+ kw match
+ kw return
+ kw self::
+ kw true
+ kw unsafe
+ kw while
+ kw while let
+ "#]],
+ );
+ check(
+ r#"fn main() { let _ = &mut $0 }"#,
+ expect![[r#"
+ fn main() fn()
+ bt u32 u32
+ kw crate::
+ kw false
+ kw for
+ kw if
+ kw if let
+ kw loop
+ kw match
+ kw return
+ kw self::
+ kw true
+ kw unsafe
+ kw while
+ kw while let
+ "#]],
+ )
+}
+
+#[test]
fn struct_initializer_field_expr() {
check(
r#"