diff --git a/compiler/testData/codegen/regressions/kt1535.kt b/compiler/testData/codegen/regressions/kt1535.kt new file mode 100644 index 00000000000..4e480a07d98 --- /dev/null +++ b/compiler/testData/codegen/regressions/kt1535.kt @@ -0,0 +1,18 @@ +class Works() : jet.Function0() { + public override fun invoke():Object { + return "Works" as Object + } +} +class Broken() : jet.Function0() { + public override fun invoke():String { + return "Broken" + } +} + +fun main(args: Array) { + val works1: ()->Object = Works(); + works1() + + val broken1: ()->String = Broken(); + broken1() +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/ClassGenTest.java b/compiler/tests/org/jetbrains/jet/codegen/ClassGenTest.java index fa22ec58ac1..e7418971036 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ClassGenTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ClassGenTest.java @@ -523,4 +523,9 @@ public class ClassGenTest extends CodegenTestCase { createEnvironmentWithMockJdkAndIdeaAnnotations(ConfigurationKind.JDK_ONLY); blackBoxFile("regressions/kt454.kt"); } + + public void testKt1535() { + createEnvironmentWithMockJdkAndIdeaAnnotations(ConfigurationKind.JDK_ONLY); + blackBoxFile("regressions/kt1535.kt"); + } }