Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/goto_definition.rs')
-rw-r--r--crates/ide/src/goto_definition.rs27
1 files changed, 27 insertions, 0 deletions
diff --git a/crates/ide/src/goto_definition.rs b/crates/ide/src/goto_definition.rs
index 88255d222e..35efe144e1 100644
--- a/crates/ide/src/goto_definition.rs
+++ b/crates/ide/src/goto_definition.rs
@@ -1978,6 +1978,33 @@ fn f() {
}
#[test]
+ fn goto_deref_mut() {
+ check(
+ r#"
+//- minicore: deref, deref_mut
+
+struct Foo;
+struct Bar;
+
+impl core::ops::Deref for Foo {
+ type Target = Bar;
+ fn deref(&self) -> &Self::Target {}
+}
+
+impl core::ops::DerefMut for Foo {
+ fn deref_mut(&mut self) -> &mut Self::Target {}
+ //^^^^^^^^^
+}
+
+fn f() {
+ let a = Foo;
+ $0*a = Bar;
+}
+"#,
+ );
+ }
+
+ #[test]
fn goto_bin_op() {
check(
r#"