check(
r#"const foo$0: u32 = 123;"#,
expect![[r#"
- *foo*
+ *foo*
- ```rust
- test
- ```
+ ```rust
+ test
+ ```
- ```rust
- const foo: u32
- ```
- "#]],
+ ```rust
+ const foo: u32 = 123
+ ```
+ "#]],
);
+ check(
+ r#"
+const foo$0: u32 = {
+ let x = foo();
+ x + 100
+};"#,
+ expect![[r#"
+ *foo*
+
+ ```rust
+ test
+ ```
+
+ ```rust
+ const foo: u32 = {
+ let x = foo();
+ x + 100
+ }
+ ```
+ "#]],
+ );
+
check(
r#"static foo$0: u32 = 456;"#,
expect![[r#"
}
"#,
expect![[r#"
- *C*
+ *C*
- ```rust
- test
- ```
+ ```rust
+ test
+ ```
- ```rust
- const C: u32
- ```
- "#]],
+ ```rust
+ const C: u32 = 1
+ ```
+ "#]],
)
}
}
"#,
expect![[r#"
- *FOO*
+ *FOO*
- ```rust
- test
- ```
+ ```rust
+ test
+ ```
- ```rust
- const FOO: usize
- ```
+ ```rust
+ const FOO: usize = 3
+ ```
- ---
+ ---
- This is a doc
- "#]],
+ This is a doc
+ "#]],
);
}
fn hover_attribute_in_macro() {
check(
r#"
+//- minicore:derive
macro_rules! identity {
($struct:item) => {
$struct
fn hover_derive_input() {
check(
r#"
+//- minicore:derive
#[rustc_builtin_macro]
pub macro Copy {}
#[derive(Copy$0)]
);
check(
r#"
+//- minicore:derive
mod foo {
#[rustc_builtin_macro]
pub macro Copy {}