mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-30 22:01:37 +00:00
Record assoc item resolution
This commit is contained in:
parent
7b7133ec58
commit
c7cedea270
2 changed files with 58 additions and 1 deletions
|
@ -390,6 +390,61 @@ mod tests {
|
|||
"spam RECORD_FIELD_DEF FileId(1) [17; 26) [17; 21)",
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn goto_definition_works_for_ufcs_inherent_methods() {
|
||||
check_goto(
|
||||
"
|
||||
//- /lib.rs
|
||||
struct Foo;
|
||||
impl Foo {
|
||||
fn frobnicate() { }
|
||||
}
|
||||
|
||||
fn bar(foo: &Foo) {
|
||||
Foo::frobnicate<|>();
|
||||
}
|
||||
",
|
||||
"frobnicate FN_DEF FileId(1) [27; 47) [30; 40)",
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn goto_definition_works_for_ufcs_trait_methods_through_traits() {
|
||||
check_goto(
|
||||
"
|
||||
//- /lib.rs
|
||||
trait Foo {
|
||||
fn frobnicate();
|
||||
}
|
||||
|
||||
fn bar() {
|
||||
Foo::frobnicate<|>();
|
||||
}
|
||||
",
|
||||
"frobnicate FN_DEF FileId(1) [16; 32) [19; 29)",
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn goto_definition_works_for_ufcs_trait_methods_through_self() {
|
||||
check_goto(
|
||||
"
|
||||
//- /lib.rs
|
||||
struct Foo;
|
||||
trait Trait {
|
||||
fn frobnicate();
|
||||
}
|
||||
impl Trait for Foo {}
|
||||
|
||||
fn bar() {
|
||||
Foo::frobnicate<|>();
|
||||
}
|
||||
",
|
||||
"frobnicate FN_DEF FileId(1) [30; 46) [33; 43)",
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn goto_definition_on_self() {
|
||||
check_goto(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue