diff --git a/compiler/testData/codegen/box/javaInterop/genericSamProjectedOutWithNewInference.kt b/compiler/testData/codegen/box/javaInterop/genericSamProjectedOutWithNewInference.kt
new file mode 100644
index 00000000000..892d86441ea
--- /dev/null
+++ b/compiler/testData/codegen/box/javaInterop/genericSamProjectedOutWithNewInference.kt
@@ -0,0 +1,79 @@
+// !LANGUAGE: +NewInference
+// TARGET_BACKEND: JVM
+// IGNORE_BACKEND: JVM_IR
+
+// FILE: example/Hello.java
+
+package example;
+
+@FunctionalInterface
+public interface Hello {
+ void invoke(A a);
+}
+
+// FILE: example/SomeJavaClass.java
+package example;
+
+public class SomeJavaClass {
+ public void someFunction(Hello hello) {
+ ((Hello)hello).invoke("OK");
+ }
+
+ public SomeJavaClass plus(Hello hello) {
+ ((Hello)hello).invoke("OK");
+ return this;
+ }
+
+ public void get(Hello hello) {
+ ((Hello)hello).invoke("OK");
+ }
+
+ public void set(int i, Hello hello) {
+ ((Hello)hello).invoke("OK");
+ }
+}
+
+// FILE: main.kt
+import example.SomeJavaClass
+
+fun box(): String {
+ var a: SomeJavaClass = SomeJavaClass()
+
+ var result = "fail"
+
+ a.someFunction {
+ result = it
+ }
+
+ if (result != "OK") return "fail 1: $result"
+ result = "fail"
+
+ a + {
+ result = it
+ }
+
+ if (result != "OK") return "fail 2: $result"
+ result = "fail"
+
+ a[{
+ result = it
+ }]
+
+ if (result != "OK") return "fail 3: $result"
+
+ result = "fail"
+
+ a += {
+ result = it
+ }
+
+ if (result != "OK") return "fail 4: $result"
+
+ result = "fail"
+
+ a[0] = { result = it }
+
+ if (result != "OK") return "fail 5: $result"
+
+ return "OK"
+}
\ No newline at end of file
diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java
index e05b688ad9d..197483e3ecf 100644
--- a/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java
+++ b/compiler/tests/org/jetbrains/kotlin/codegen/BlackBoxCodegenTestGenerated.java
@@ -13811,6 +13811,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/javaInterop/genericSamProjectedOut.kt");
}
+ @TestMetadata("genericSamProjectedOutWithNewInference.kt")
+ public void testGenericSamProjectedOutWithNewInference() throws Exception {
+ runTest("compiler/testData/codegen/box/javaInterop/genericSamProjectedOutWithNewInference.kt");
+ }
+
@TestMetadata("lambdaInstanceOf.kt")
public void testLambdaInstanceOf() throws Exception {
runTest("compiler/testData/codegen/box/javaInterop/lambdaInstanceOf.kt");
diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java
index 337a44232ed..ab5ee9baf1f 100644
--- a/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java
+++ b/compiler/tests/org/jetbrains/kotlin/codegen/LightAnalysisModeTestGenerated.java
@@ -13811,6 +13811,11 @@ public class LightAnalysisModeTestGenerated extends AbstractLightAnalysisModeTes
runTest("compiler/testData/codegen/box/javaInterop/genericSamProjectedOut.kt");
}
+ @TestMetadata("genericSamProjectedOutWithNewInference.kt")
+ public void testGenericSamProjectedOutWithNewInference() throws Exception {
+ runTest("compiler/testData/codegen/box/javaInterop/genericSamProjectedOutWithNewInference.kt");
+ }
+
@TestMetadata("lambdaInstanceOf.kt")
public void testLambdaInstanceOf() throws Exception {
runTest("compiler/testData/codegen/box/javaInterop/lambdaInstanceOf.kt");
diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java
index ab0b5efa667..0ffe278b308 100644
--- a/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java
+++ b/compiler/tests/org/jetbrains/kotlin/codegen/ir/IrBlackBoxCodegenTestGenerated.java
@@ -13816,6 +13816,11 @@ public class IrBlackBoxCodegenTestGenerated extends AbstractIrBlackBoxCodegenTes
runTest("compiler/testData/codegen/box/javaInterop/genericSamProjectedOut.kt");
}
+ @TestMetadata("genericSamProjectedOutWithNewInference.kt")
+ public void testGenericSamProjectedOutWithNewInference() throws Exception {
+ runTest("compiler/testData/codegen/box/javaInterop/genericSamProjectedOutWithNewInference.kt");
+ }
+
@TestMetadata("lambdaInstanceOf.kt")
public void testLambdaInstanceOf() throws Exception {
runTest("compiler/testData/codegen/box/javaInterop/lambdaInstanceOf.kt");