Add associated type test.

This commit is contained in:
vsrs
2020-06-10 22:58:25 +03:00
parent 283ec13fc0
commit d4e75312ba
3 changed files with 65 additions and 2 deletions

View File

@@ -2080,4 +2080,61 @@ fn func(foo: i32) { if true { <|>foo; }; }
]
"###);
}
#[test]
fn test_hover_associated_type_has_goto_type_action() {
let (_, actions) = check_hover_result(
"
//- /main.rs
trait Foo {
type Item;
fn get(self) -> Self::Item {}
}
struct Bar{}
struct S{}
impl Foo for S{
type Item = Bar;
}
fn test() -> impl Foo {
S{}
}
fn main() {
let s<|>t = test().get();
}
",
&["Foo::Item<impl Foo>"],
);
assert_debug_snapshot!(actions,
@r###"
[
GoToType(
[
HoverGotoTypeData {
mod_path: "Foo",
nav: NavigationTarget {
file_id: FileId(
1,
),
full_range: 0..62,
name: "Foo",
kind: TRAIT_DEF,
focus_range: Some(
6..9,
),
container_name: None,
description: Some(
"trait Foo",
),
docs: None,
},
},
],
),
]
"###);
}
}