diff --git a/compiler/testData/codegen/regressions/kt606.kt b/compiler/testData/codegen/regressions/kt606.kt new file mode 100644 index 00000000000..f2e00fb0fb2 --- /dev/null +++ b/compiler/testData/codegen/regressions/kt606.kt @@ -0,0 +1,25 @@ +class StandardPipelineFactory(val config : ChannelPipeline.() -> Unit) : ChannelPipelineFactory { + override fun getPipeline() : ChannelPipeline { + val pipeline : ChannelPipeline = DefaultChannelPipeline() + pipeline.config() + return pipeline + } +} + +trait ChannelPipeline { + fun print(any: Any) +} + +class DefaultChannelPipeline : ChannelPipeline { + override fun print(any: Any) = System.out?.println(any) + +} + +trait ChannelPipelineFactory { + fun getPipeline() : ChannelPipeline +} + +fun box() : String { + StandardPipelineFactory({ print("OK") }).getPipeline() + return "OK" +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java b/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java index 20be7c387b5..f50618fc621 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ExtensionFunctionsTest.java @@ -76,4 +76,8 @@ public class ExtensionFunctionsTest extends CodegenTestCase { createEnvironmentWithMockJdk(CompilerSpecialMode.BUILTINS); blackBoxFile("extensionFunctions/nested2.kt"); } + public void testKt606() throws Exception { + createEnvironmentWithMockJdk(CompilerSpecialMode.BUILTINS); + blackBoxFile("regressions/kt606.kt"); + } }