ide: show go to for function hover return type

This commit is contained in:
Jake Heinz 2021-11-18 08:00:22 +00:00
parent 64a73dcfba
commit 876f44b3ea
2 changed files with 32 additions and 28 deletions

View file

@ -314,6 +314,7 @@ fn goto_type_action_for_def(db: &RootDatabase, def: Definition) -> Option<HoverA
Definition::Local(it) => it.ty(db), Definition::Local(it) => it.ty(db),
Definition::GenericParam(hir::GenericParam::ConstParam(it)) => it.ty(db), Definition::GenericParam(hir::GenericParam::ConstParam(it)) => it.ty(db),
Definition::Field(field) => field.ty(db), Definition::Field(field) => field.ty(db),
Definition::Function(function) => function.ret_type(db),
_ => return None, _ => return None,
}; };

View file

@ -1718,40 +1718,43 @@ fn test_hover_test_has_action() {
fn foo_$0test() {} fn foo_$0test() {}
"#, "#,
expect![[r#" expect![[r#"
[ [
Reference( Reference(
FilePosition { FilePosition {
file_id: FileId(
0,
),
offset: 11,
},
),
Runnable(
Runnable {
use_name_in_title: false,
nav: NavigationTarget {
file_id: FileId( file_id: FileId(
0, 0,
), ),
offset: 11, full_range: 0..24,
focus_range: 11..19,
name: "foo_test",
kind: Function,
}, },
), kind: Test {
Runnable( test_id: Path(
Runnable { "foo_test",
use_name_in_title: false, ),
nav: NavigationTarget { attr: TestAttr {
file_id: FileId( ignore: false,
0,
),
full_range: 0..24,
focus_range: 11..19,
name: "foo_test",
kind: Function,
}, },
kind: Test {
test_id: Path(
"foo_test",
),
attr: TestAttr {
ignore: false,
},
},
cfg: None,
}, },
), cfg: None,
] },
"#]], ),
GoToType(
[],
),
]
"#]],
); );
} }