Unnamed repository; edit this file 'description' to name the repository.
Auto merge of #12202 - iDawer:ide.sig_help-fix, r=lnicola
fix: don't panic at fully qualified call syntax in signature help Closes #12200 Regressed from #12082
bors 2022-05-10
parent 460e389 · parent 956b8fb · commit cc69536
-rw-r--r--crates/ide/src/signature_help.rs18
1 files changed, 17 insertions, 1 deletions
diff --git a/crates/ide/src/signature_help.rs b/crates/ide/src/signature_help.rs
index 57b0305fb3..e603cb4862 100644
--- a/crates/ide/src/signature_help.rs
+++ b/crates/ide/src/signature_help.rs
@@ -129,7 +129,7 @@ fn signature_help_for_call(
hir::CallableKind::Function(func) => {
res.doc = func.docs(db).map(|it| it.into());
format_to!(res.signature, "fn {}", func.name(db));
- fn_params = Some(match func.self_param(db) {
+ fn_params = Some(match callable.receiver_param(db) {
Some(_self) => func.params_without_self(db),
None => func.assoc_fn_params(db),
});
@@ -1142,4 +1142,20 @@ fn f() {
"#]],
);
}
+
+ #[test]
+ fn fully_qualified_syntax() {
+ check(
+ r#"
+fn f() {
+ trait A { fn foo(&self, other: Self); }
+ A::foo(&self$0, other);
+}
+"#,
+ expect![[r#"
+ fn foo(self: &Self, other: Self)
+ ^^^^^^^^^^^ -----------
+ "#]],
+ );
+ }
}