diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java index fed9c47f203..b3a59d0fb4b 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java @@ -10161,6 +10161,11 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirOldFronte runTest("compiler/testData/diagnostics/tests/inference/reportAboutUnresolvedReferenceAsUnresolved.kt"); } + @TestMetadata("resolveWithUnknownLambdaParameterType.kt") + public void testResolveWithUnknownLambdaParameterType() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.kt"); + } + @TestMetadata("starApproximation.kt") public void testStarApproximation() throws Exception { runTest("compiler/testData/diagnostics/tests/inference/starApproximation.kt"); diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/KotlinCallDiagnostics.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/KotlinCallDiagnostics.kt index ab020e1806d..ee3927b86bc 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/KotlinCallDiagnostics.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/model/KotlinCallDiagnostics.kt @@ -213,7 +213,7 @@ class ResolvedToSamWithVarargDiagnostic(val argument: KotlinCallArgument) : Kotl class NotEnoughInformationForLambdaParameter( val lambdaArgument: LambdaKotlinCallArgument, val parameterIndex: Int -) : KotlinCallDiagnostic(INAPPLICABLE) { +) : KotlinCallDiagnostic(RESOLVED) { override fun report(reporter: DiagnosticReporter) { reporter.onCallArgument(lambdaArgument, this) } diff --git a/compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.fir.kt b/compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.fir.kt new file mode 100644 index 00000000000..0ca80a96baf --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.fir.kt @@ -0,0 +1,11 @@ +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_ANONYMOUS_PARAMETER + +fun baz(f: (Int) -> String) {} + +object Foo { + fun baz(vararg anys: Any?) {} + + fun testResolvedToMember() { + baz({ x -> "" }) // should be an error + } +} diff --git a/compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.kt b/compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.kt new file mode 100644 index 00000000000..aa0d8da79fc --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.kt @@ -0,0 +1,11 @@ +// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_ANONYMOUS_PARAMETER + +fun baz(f: (Int) -> String) {} + +object Foo { + fun baz(vararg anys: Any?) {} + + fun testResolvedToMember() { + baz({ x -> "" }) // should be an error + } +} diff --git a/compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.txt b/compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.txt new file mode 100644 index 00000000000..22efe735f67 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.txt @@ -0,0 +1,12 @@ +package + +public fun baz(/*0*/ f: (kotlin.Int) -> kotlin.String): kotlin.Unit + +public object Foo { + private constructor Foo() + public final fun baz(/*0*/ vararg anys: kotlin.Any? /*kotlin.Array*/): kotlin.Unit + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public final fun testResolvedToMember(): kotlin.Unit + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java index a625a3f6f16..48e143a64a1 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java @@ -10168,6 +10168,11 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest { runTest("compiler/testData/diagnostics/tests/inference/reportAboutUnresolvedReferenceAsUnresolved.kt"); } + @TestMetadata("resolveWithUnknownLambdaParameterType.kt") + public void testResolveWithUnknownLambdaParameterType() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.kt"); + } + @TestMetadata("starApproximation.kt") public void testStarApproximation() throws Exception { runTest("compiler/testData/diagnostics/tests/inference/starApproximation.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java index 87bb33cd873..7d1c15dae00 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java @@ -10163,6 +10163,11 @@ public class DiagnosticsUsingJavacTestGenerated extends AbstractDiagnosticsUsing runTest("compiler/testData/diagnostics/tests/inference/reportAboutUnresolvedReferenceAsUnresolved.kt"); } + @TestMetadata("resolveWithUnknownLambdaParameterType.kt") + public void testResolveWithUnknownLambdaParameterType() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/resolveWithUnknownLambdaParameterType.kt"); + } + @TestMetadata("starApproximation.kt") public void testStarApproximation() throws Exception { runTest("compiler/testData/diagnostics/tests/inference/starApproximation.kt");