[clang] [clang-tools-extra] [clang][CodeComplete] skip explicit obj param in SignatureHelp (PR #146649)
Mythreya Kuricheti via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 29 23:59:37 PDT 2025
================
@@ -3294,18 +3294,27 @@ TEST(SignatureHelpTest, SkipExplicitObjectParameter) {
const auto Result = signatureHelp(testPath(TU.Filename), Code.point("c1"),
*Preamble, Inputs, MarkupKind::PlainText);
- EXPECT_EQ(1, Result.signatures.size());
+ EXPECT_EQ(1U, Result.signatures.size());
EXPECT_THAT(Result.signatures[0], AllOf(sig("foo([[int arg]]) -> void")));
}
{
const auto Result = signatureHelp(testPath(TU.Filename), Code.point("c2"),
*Preamble, Inputs, MarkupKind::PlainText);
- EXPECT_EQ(1, Result.signatures.size());
+ EXPECT_EQ(1U, Result.signatures.size());
EXPECT_THAT(Result.signatures[0], AllOf(sig("([[A]], [[int]]) -> void")));
}
+ {
+ const auto Result = signatureHelp(testPath(TU.Filename), Code.point("c3"),
+ *Preamble, Inputs, MarkupKind::PlainText);
+ // TODO: We expect 1 signature here
+ // EXPECT_EQ(1U, Result.signatures.size());
+
+ // EXPECT_THAT(Result.signatures[0], AllOf(sig("([[A]], [[int]]) ->
----------------
MythreyaK wrote:
> The compiler seems to accept any type for self when using this syntax, e.g. (&A::foo)(42, 42); compiles (which is admittedly a bit strange).
Oh yeah, I missed that. @cor3ntin, would this be a bug?
https://github.com/llvm/llvm-project/pull/146649
More information about the cfe-commits
mailing list