Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/hover/tests.rs')
-rw-r--r--crates/ide/src/hover/tests.rs105
1 files changed, 100 insertions, 5 deletions
diff --git a/crates/ide/src/hover/tests.rs b/crates/ide/src/hover/tests.rs
index 69ddc1e45e..157f8ff371 100644
--- a/crates/ide/src/hover/tests.rs
+++ b/crates/ide/src/hover/tests.rs
@@ -1279,11 +1279,11 @@ impl Thing {
);
check(
r#"
- enum Thing { A }
- impl Thing {
- pub fn thing(a: Self$0) {}
- }
- "#,
+enum Thing { A }
+impl Thing {
+ pub fn thing(a: Self$0) {}
+}
+"#,
expect![[r#"
*Self*
@@ -1298,6 +1298,42 @@ impl Thing {
```
"#]],
);
+ check(
+ r#"
+impl usize {
+ pub fn thing(a: Self$0) {}
+}
+"#,
+ expect![[r#"
+ *Self*
+
+ ```rust
+ test
+ ```
+
+ ```rust
+ usize
+ ```
+ "#]],
+ );
+ check(
+ r#"
+impl fn() -> usize {
+ pub fn thing(a: Self$0) {}
+}
+"#,
+ expect![[r#"
+ *Self*
+
+ ```rust
+ test
+ ```
+
+ ```rust
+ fn() -> usize
+ ```
+ "#]],
+ );
}
#[test]
@@ -7202,6 +7238,65 @@ impl Iterator for S {
}
#[test]
+fn extern_items() {
+ check(
+ r#"
+extern "C" {
+ static STATIC$0: ();
+}
+"#,
+ expect![[r#"
+ *STATIC*
+
+ ```rust
+ test
+ ```
+
+ ```rust
+ static STATIC: ()
+ ```
+ "#]],
+ );
+ check(
+ r#"
+extern "C" {
+ fn fun$0();
+}
+"#,
+ expect![[r#"
+ *fun*
+
+ ```rust
+ test
+ ```
+
+ ```rust
+ unsafe fn fun()
+ ```
+ "#]],
+ );
+ check(
+ r#"
+extern "C" {
+ type Ty$0;
+}
+"#,
+ expect![[r#"
+ *Ty*
+
+ ```rust
+ test
+ ```
+
+ ```rust
+ // size = 0, align = 1
+ type Ty
+ ```
+ "#]],
+ );
+}
+
+#[test]
fn notable_ranged() {
check_hover_range(
r#"