mirror of
https://github.com/rust-lang/rust.git
synced 2025-06-05 03:38:29 +00:00
parent
13bce1a164
commit
710e430dbb
@ -376,16 +376,20 @@ impl ToNav for hir::Local {
|
|||||||
impl ToNav for hir::TypeParam {
|
impl ToNav for hir::TypeParam {
|
||||||
fn to_nav(&self, db: &RootDatabase) -> NavigationTarget {
|
fn to_nav(&self, db: &RootDatabase) -> NavigationTarget {
|
||||||
let src = self.source(db);
|
let src = self.source(db);
|
||||||
let range = match src.value {
|
let full_range = match &src.value {
|
||||||
Either::Left(it) => it.syntax().text_range(),
|
Either::Left(it) => it.syntax().text_range(),
|
||||||
Either::Right(it) => it.syntax().text_range(),
|
Either::Right(it) => it.syntax().text_range(),
|
||||||
};
|
};
|
||||||
|
let focus_range = match &src.value {
|
||||||
|
Either::Left(_) => None,
|
||||||
|
Either::Right(it) => it.name().map(|it| it.syntax().text_range()),
|
||||||
|
};
|
||||||
NavigationTarget {
|
NavigationTarget {
|
||||||
file_id: src.file_id.original_file(db),
|
file_id: src.file_id.original_file(db),
|
||||||
name: self.name(db).to_string().into(),
|
name: self.name(db).to_string().into(),
|
||||||
kind: TYPE_PARAM,
|
kind: TYPE_PARAM,
|
||||||
full_range: range,
|
full_range,
|
||||||
focus_range: None,
|
focus_range,
|
||||||
container_name: None,
|
container_name: None,
|
||||||
description: None,
|
description: None,
|
||||||
docs: None,
|
docs: None,
|
||||||
|
@ -754,14 +754,14 @@ mod tests {
|
|||||||
#[test]
|
#[test]
|
||||||
fn goto_for_type_param() {
|
fn goto_for_type_param() {
|
||||||
check_goto(
|
check_goto(
|
||||||
"
|
r#"
|
||||||
//- /lib.rs
|
//- /lib.rs
|
||||||
struct Foo<T> {
|
struct Foo<T: Clone> {
|
||||||
t: <|>T,
|
t: <|>T,
|
||||||
}
|
}
|
||||||
",
|
"#,
|
||||||
"T TYPE_PARAM FileId(1) 11..12",
|
"T TYPE_PARAM FileId(1) 11..19 11..12",
|
||||||
"T",
|
"T: Clone|T",
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user