[FIR] Distinguish stub types for builder inference and for subtyping

^KT-48110 Fixed
This commit is contained in:
Dmitriy Novozhilov
2021-08-23 16:29:52 +03:00
parent 7e6e0a3dd6
commit 0924216ed2
25 changed files with 85 additions and 848 deletions
@@ -1,267 +0,0 @@
While resolving call R?C|/build|(<L> = build@fun R|TestInterface<Stub: TypeVariable(R)>|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.emit: R|kotlin/Unit|>|(String(1))
Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
Q|Test|.R|/Test.foo|<R|ft<Inv<Stub: TypeVariable(R)>, Inv<Stub: TypeVariable(R)>?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.getInv: R|Inv<Stub: TypeVariable(R)>|>|())
R|/id|<R|Stub: TypeVariable(R)|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
R|/select|<R|Stub: TypeVariable(R)|>(vararg(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|(), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()))
R|/select|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(vararg(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()), Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())))
R?C|/select|(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
select#(getInv#(), getInv#())
select#(Test#.foo#(getInv#()), Test#.foo#(getInv#()))
select#(Test#.foo#(getInv#()), getInv#())
select#(getInv#(), Test#.foo#(getInv#()))
select#(id#(get#()), id#(get#()))
build2#(<L> = build2@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
emit#(IntegerLiteral(1))
select#(this@build#.get#(), get#())
select#(Test#.foo#(this@build#.get#()), Test#.foo#(get#()))
select#(this@build#.getInv#(), getInv#())
select#(Test#.foo#(this@build#.getInv#()), Test#.foo#(getInv#()))
select#(Test#.foo#(this@build#.getInv#()), getInv#())
select#(id#(this@build#.get#()), id#(get#()))
String()
}
)
String()
}
)
java.lang.RuntimeException: While resolving call R?C|/build|(<L> = build@fun R|TestInterface<Stub: TypeVariable(R)>|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.emit: R|kotlin/Unit|>|(String(1))
Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
Q|Test|.R|/Test.foo|<R|ft<Inv<Stub: TypeVariable(R)>, Inv<Stub: TypeVariable(R)>?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.getInv: R|Inv<Stub: TypeVariable(R)>|>|())
R|/id|<R|Stub: TypeVariable(R)|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
R|/select|<R|Stub: TypeVariable(R)|>(vararg(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|(), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()))
R|/select|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(vararg(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()), Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())))
R?C|/select|(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
select#(getInv#(), getInv#())
select#(Test#.foo#(getInv#()), Test#.foo#(getInv#()))
select#(Test#.foo#(getInv#()), getInv#())
select#(getInv#(), Test#.foo#(getInv#()))
select#(id#(get#()), id#(get#()))
build2#(<L> = build2@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
emit#(IntegerLiteral(1))
select#(this@build#.get#(), get#())
select#(Test#.foo#(this@build#.get#()), Test#.foo#(get#()))
select#(this@build#.getInv#(), getInv#())
select#(Test#.foo#(this@build#.getInv#()), Test#.foo#(getInv#()))
select#(Test#.foo#(this@build#.getInv#()), getInv#())
select#(id#(this@build#.get#()), id#(get#()))
String()
}
)
String()
}
)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37)
at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:104)
at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:34)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformLocalVariable(FirDeclarationsResolveTransformer.kt:276)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformProperty(FirDeclarationsResolveTransformer.kt:119)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:259)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirProperty.transform(FirProperty.kt:58)
at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28)
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformBody(FirSimpleFunctionImpl.kt:99)
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:75)
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:33)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:490)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:41)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:479)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:477)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.forFunctionBody(BodyResolveContext.kt:896)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformSimpleFunction(FirDeclarationsResolveTransformer.kt:477)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:281)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirSimpleFunction.transform(FirSimpleFunction.kt:52)
at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformInplace(FirTransformerUtil.kt:19)
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformDeclarations(FirFileImpl.kt:61)
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:46)
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:25)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:54)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:37)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:23)
at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37)
at org.jetbrains.kotlin.fir.resolve.transformers.FirTransformerBasedResolveProcessor.processFile(FirResolveProcessor.kt:29)
at org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor.process(FirTotalResolveProcessor.kt:23)
at org.jetbrains.kotlin.fir.analysis.FirAnalyzerFacade.runResolution(FirAnalyzerFacade.kt:69)
at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:75)
at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:26)
at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:36)
at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:25)
at org.jetbrains.kotlin.test.TestRunner.processModule(TestRunner.kt:125)
at org.jetbrains.kotlin.test.TestRunner.runTestImpl(TestRunner.kt:66)
at org.jetbrains.kotlin.test.TestRunner.runTest(TestRunner.kt:20)
at org.jetbrains.kotlin.test.TestRunner.runTest$default(TestRunner.kt:18)
at org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest.runTest(AbstractKotlinCompilerTest.kt:80)
at org.jetbrains.kotlin.test.runners.FirOldFrontendDiagnosticsTestGenerated$Tests$Inference$BuilderInference$StubTypes.testCommonSuperType(FirOldFrontendDiagnosticsTestGenerated.java:12699)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: java.lang.RuntimeException: While resolving call R?C|/select|(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37)
at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28)
at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformBody(FirAnonymousFunctionImpl.kt:102)
at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:74)
at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:31)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:430)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:41)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:638)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:636)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.withAnonymousFunction(BodyResolveContext.kt:946)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunction(FirDeclarationsResolveTransformer.kt:636)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:306)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction.transform(FirAnonymousFunction.kt:50)
at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformSingle(FirTransformerUtil.kt:12)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments(FirCallCompleter.kt:239)
at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyzeLambda(PostponedArgumentsAnalyzer.kt:131)
at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyze(PostponedArgumentsAnalyzer.kt:59)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:125)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:124)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.analyzeArgumentWithFixedParameterTypes(ConstraintSystemCompleter.kt:131)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:48)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296)
... 154 more
Caused by: java.lang.AssertionError: There should be at least one non-stub type to compute common supertype but there are: [Stub: TypeVariable(R), Stub: TypeVariable(R)]
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForNotNullTypes(NewCommonSuperTypeCalculator.kt:174)
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForSimpleTypes(NewCommonSuperTypeCalculator.kt:93)
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:53)
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:18)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.computeCommonSuperType(ResultTypeResolver.kt:175)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findSubType(ResultTypeResolver.kt:135)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultTypeOrNull(ResultTypeResolver.kt:42)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultType(ResultTypeResolver.kt:27)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariable(ConstraintSystemCompleter.kt:322)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariablesOrReportNotEnoughInformation(ConstraintSystemCompleter.kt:219)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:108)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296)
... 191 more
@@ -12,10 +12,10 @@ class Test {
import kotlin.experimental.ExperimentalTypeInference
@UseExperimental(ExperimentalTypeInference::class)
fun <R> build(@BuilderInference block: TestInterface<R>.() -> Unit): R = TODO()
fun <R> build(@<!EXPERIMENTAL_API_USAGE_ERROR!>BuilderInference<!> block: TestInterface<R>.() -> Unit): R = TODO()
@UseExperimental(ExperimentalTypeInference::class)
fun <R> build2(@BuilderInference block: TestInterface<R>.() -> Unit): R = TODO()
fun <R> build2(@<!EXPERIMENTAL_API_USAGE_ERROR!>BuilderInference<!> block: TestInterface<R>.() -> Unit): R = TODO()
class Inv<K>
@@ -34,16 +34,16 @@ fun <E> select4(x: E?, y: In<E>): E = x!!
fun test() {
val ret = build {
emit("1")
select1(get(), getIn())
select1(get(), Test.foo(getIn()))
select1(Test.foo(get()), Test.foo(getIn()))
select1(Test.foo(get()), getIn())
select4(get(), getIn())
select4(get(), Test.foo(getIn()))
select4(Test.foo(get()), Test.foo(getIn()))
select4(Test.foo(get()), getIn())
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select1(get(), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select1(get(), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select1(Test.foo(get()), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select1(Test.foo(get()), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select4(get(), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select4(get(), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select4(Test.foo(get()), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select4(Test.foo(get()), getIn())<!>
select4(id(Test.foo(get())), getIn())
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String")!>select4(id(Test.foo(get())), getIn())<!>
build2 {
emit(1)
@@ -71,14 +71,14 @@ fun test() {
}
val ret2 = build {
emit(if (true) "" else null)
select2(get(), getIn())
select2(get(), Test.foo(getIn()))
select2(Test.foo(get()), Test.foo(getIn()))
select2(Test.foo(get()), getIn())
select3(get(), getIn())
select3(get(), Test.foo(getIn()))
select3(Test.foo(get()), Test.foo(getIn()))
select3(Test.foo(get()), getIn())
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select2(get(), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select2(get(), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select2(Test.foo(get()), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select2(Test.foo(get()), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select3(get(), getIn())<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select3(get(), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select3(Test.foo(get()), Test.foo(getIn()))<!>
<!DEBUG_INFO_EXPRESSION_TYPE("kotlin.String?")!>select3(Test.foo(get()), getIn())<!>
""
}
}
@@ -1,287 +0,0 @@
While resolving call R?C|/build|(<L> = build@fun R|TestInterface<Stub: TypeVariable(R1)>|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.emit: R|kotlin/Unit|>|(String(1))
R|/select1|<R|Stub: TypeVariable(R1)|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R1)|>|(), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.getOut: R|Out<Stub: TypeVariable(R1)>|>|())
R|/select1|<R|Stub: TypeVariable(R1)|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R1)|>|(), Q|Test|.R|/Test.foo|<R|ft<Out<Stub: TypeVariable(R1)>, Out<Stub: TypeVariable(R1)>?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.getOut: R|Out<Stub: TypeVariable(R1)>|>|()))
R?C|/select1|(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R1), Stub: TypeVariable(R1)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R1)|>|()), Q|Test|.R|/Test.foo|<R|ft<Out<Stub: TypeVariable(R1)>, Out<Stub: TypeVariable(R1)>?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.getOut: R|Out<Stub: TypeVariable(R1)>|>|()))
select1#(Test#.foo#(get#()), getOut#())
select2#(get#(), getOut#())
select2#(get#(), Test#.foo#(getOut#()))
select2#(Test#.foo#(get#()), Test#.foo#(getOut#()))
select2#(Test#.foo#(get#()), getOut#())
select3#(get#(), getOut#())
select3#(get#(), Test#.foo#(getOut#()))
select3#(Test#.foo#(get#()), Test#.foo#(getOut#()))
select3#(Test#.foo#(get#()), getOut#())
select4#(get#(), getOut#())
select4#(get#(), Test#.foo#(getOut#()))
select4#(Test#.foo#(get#()), Test#.foo#(getOut#()))
select4#(Test#.foo#(get#()), getOut#())
select4#(id#(Test#.foo#(get#())), getOut#())
build2#(<L> = build2@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
emit#(IntegerLiteral(1))
select1#(this@build#.get#(), getOut#())
select1#(get#(), Test#.foo#(this@build#.getOut#()))
select1#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#()))
select1#(Test#.foo#(get#()), this@build#.getOut#())
select2#(this@build#.get#(), getOut#())
select2#(get#(), Test#.foo#(this@build#.getOut#()))
select2#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#()))
select2#(Test#.foo#(get#()), this@build#.getOut#())
select3#(this@build#.get#(), getOut#())
select3#(get#(), Test#.foo#(this@build#.getOut#()))
select3#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#()))
select3#(Test#.foo#(get#()), this@build#.getOut#())
select4#(this@build#.get#(), getOut#())
select4#(get#(), Test#.foo#(this@build#.getOut#()))
select4#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#()))
select4#(Test#.foo#(get#()), this@build#.getOut#())
select4#(id#(Test#.foo#(this@build#.get#())), getOut#())
String()
}
)
String()
}
)
java.lang.RuntimeException: While resolving call R?C|/build|(<L> = build@fun R|TestInterface<Stub: TypeVariable(R1)>|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.emit: R|kotlin/Unit|>|(String(1))
R|/select1|<R|Stub: TypeVariable(R1)|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R1)|>|(), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.getOut: R|Out<Stub: TypeVariable(R1)>|>|())
R|/select1|<R|Stub: TypeVariable(R1)|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R1)|>|(), Q|Test|.R|/Test.foo|<R|ft<Out<Stub: TypeVariable(R1)>, Out<Stub: TypeVariable(R1)>?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.getOut: R|Out<Stub: TypeVariable(R1)>|>|()))
R?C|/select1|(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R1), Stub: TypeVariable(R1)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R1)|>|()), Q|Test|.R|/Test.foo|<R|ft<Out<Stub: TypeVariable(R1)>, Out<Stub: TypeVariable(R1)>?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.getOut: R|Out<Stub: TypeVariable(R1)>|>|()))
select1#(Test#.foo#(get#()), getOut#())
select2#(get#(), getOut#())
select2#(get#(), Test#.foo#(getOut#()))
select2#(Test#.foo#(get#()), Test#.foo#(getOut#()))
select2#(Test#.foo#(get#()), getOut#())
select3#(get#(), getOut#())
select3#(get#(), Test#.foo#(getOut#()))
select3#(Test#.foo#(get#()), Test#.foo#(getOut#()))
select3#(Test#.foo#(get#()), getOut#())
select4#(get#(), getOut#())
select4#(get#(), Test#.foo#(getOut#()))
select4#(Test#.foo#(get#()), Test#.foo#(getOut#()))
select4#(Test#.foo#(get#()), getOut#())
select4#(id#(Test#.foo#(get#())), getOut#())
build2#(<L> = build2@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
emit#(IntegerLiteral(1))
select1#(this@build#.get#(), getOut#())
select1#(get#(), Test#.foo#(this@build#.getOut#()))
select1#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#()))
select1#(Test#.foo#(get#()), this@build#.getOut#())
select2#(this@build#.get#(), getOut#())
select2#(get#(), Test#.foo#(this@build#.getOut#()))
select2#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#()))
select2#(Test#.foo#(get#()), this@build#.getOut#())
select3#(this@build#.get#(), getOut#())
select3#(get#(), Test#.foo#(this@build#.getOut#()))
select3#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#()))
select3#(Test#.foo#(get#()), this@build#.getOut#())
select4#(this@build#.get#(), getOut#())
select4#(get#(), Test#.foo#(this@build#.getOut#()))
select4#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#()))
select4#(Test#.foo#(get#()), this@build#.getOut#())
select4#(id#(Test#.foo#(this@build#.get#())), getOut#())
String()
}
)
String()
}
)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37)
at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:104)
at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:34)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformLocalVariable(FirDeclarationsResolveTransformer.kt:276)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformProperty(FirDeclarationsResolveTransformer.kt:119)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:259)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirProperty.transform(FirProperty.kt:58)
at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28)
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformBody(FirSimpleFunctionImpl.kt:99)
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:75)
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:33)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:490)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:41)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:479)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:477)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.forFunctionBody(BodyResolveContext.kt:896)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformSimpleFunction(FirDeclarationsResolveTransformer.kt:477)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:281)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirSimpleFunction.transform(FirSimpleFunction.kt:52)
at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformInplace(FirTransformerUtil.kt:19)
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformDeclarations(FirFileImpl.kt:61)
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:46)
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:25)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:54)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:37)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:23)
at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37)
at org.jetbrains.kotlin.fir.resolve.transformers.FirTransformerBasedResolveProcessor.processFile(FirResolveProcessor.kt:29)
at org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor.process(FirTotalResolveProcessor.kt:23)
at org.jetbrains.kotlin.fir.analysis.FirAnalyzerFacade.runResolution(FirAnalyzerFacade.kt:69)
at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:75)
at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:26)
at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:36)
at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:25)
at org.jetbrains.kotlin.test.TestRunner.processModule(TestRunner.kt:125)
at org.jetbrains.kotlin.test.TestRunner.runTestImpl(TestRunner.kt:66)
at org.jetbrains.kotlin.test.TestRunner.runTest(TestRunner.kt:20)
at org.jetbrains.kotlin.test.TestRunner.runTest$default(TestRunner.kt:18)
at org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest.runTest(AbstractKotlinCompilerTest.kt:80)
at org.jetbrains.kotlin.test.runners.FirOldFrontendDiagnosticsTestGenerated$Tests$Inference$BuilderInference$StubTypes.testCommonSuperTypeCovariant(FirOldFrontendDiagnosticsTestGenerated.java:12711)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389)
at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389)
at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389)
at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: java.lang.RuntimeException: While resolving call R?C|/select1|(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R1), Stub: TypeVariable(R1)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R1)|>|()), Q|Test|.R|/Test.foo|<R|ft<Out<Stub: TypeVariable(R1)>, Out<Stub: TypeVariable(R1)>?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.getOut: R|Out<Stub: TypeVariable(R1)>|>|()))
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37)
at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28)
at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformBody(FirAnonymousFunctionImpl.kt:102)
at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:74)
at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:31)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:430)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:41)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:638)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:636)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.withAnonymousFunction(BodyResolveContext.kt:946)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunction(FirDeclarationsResolveTransformer.kt:636)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:306)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction.transform(FirAnonymousFunction.kt:50)
at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformSingle(FirTransformerUtil.kt:12)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments(FirCallCompleter.kt:239)
at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyzeLambda(PostponedArgumentsAnalyzer.kt:131)
at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyze(PostponedArgumentsAnalyzer.kt:59)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:125)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:124)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.analyzeArgumentWithFixedParameterTypes(ConstraintSystemCompleter.kt:131)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:48)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296)
... 139 more
Caused by: java.lang.AssertionError: There should be at least one non-stub type to compute common supertype but there are: [Stub: TypeVariable(R1), Stub: TypeVariable(R1)]
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForNotNullTypes(NewCommonSuperTypeCalculator.kt:174)
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForSimpleTypes(NewCommonSuperTypeCalculator.kt:93)
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:53)
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:18)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.computeCommonSuperType(ResultTypeResolver.kt:175)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findSubType(ResultTypeResolver.kt:135)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultTypeOrNull(ResultTypeResolver.kt:42)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultType(ResultTypeResolver.kt:27)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariable(ConstraintSystemCompleter.kt:322)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariablesOrReportNotEnoughInformation(ConstraintSystemCompleter.kt:219)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:108)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296)
... 176 more
@@ -1,7 +1,6 @@
// !LANGUAGE: +UnrestrictedBuilderInference
// !DIAGNOSTICS: -UNUSED_PARAMETER -DEPRECATION -EXPERIMENTAL_IS_NOT_ENABLED -UNUSED_VARIABLE
// WITH_RUNTIME
// FIR_IDE_IGNORE
// FILE: Test.java
@@ -13,10 +12,10 @@ class Test {
import kotlin.experimental.ExperimentalTypeInference
@UseExperimental(ExperimentalTypeInference::class)
fun <R1> build(@BuilderInference block: TestInterface<R1>.() -> Unit): R1 = TODO()
fun <R1> build(@<!EXPERIMENTAL_API_USAGE_ERROR!>BuilderInference<!> block: TestInterface<R1>.() -> Unit): R1 = TODO()
@UseExperimental(ExperimentalTypeInference::class)
fun <R2> build2(@BuilderInference block: TestInterface<R2>.() -> Unit): R2 = TODO()
fun <R2> build2(@<!EXPERIMENTAL_API_USAGE_ERROR!>BuilderInference<!> block: TestInterface<R2>.() -> Unit): R2 = TODO()
class Out<out K>
@@ -1,7 +1,6 @@
// !LANGUAGE: +UnrestrictedBuilderInference
// !DIAGNOSTICS: -UNUSED_PARAMETER -DEPRECATION -EXPERIMENTAL_IS_NOT_ENABLED -UNUSED_VARIABLE
// WITH_RUNTIME
// FIR_IDE_IGNORE
// FILE: Test.java
@@ -1,253 +0,0 @@
While resolving call R?C|/build|(<L> = build@fun R|TestInterface<Stub: TypeVariable(R)>|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.emit: R|kotlin/Unit|>|(String(1))
Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
Q|Test|.R|/Test.foo|<R|ft<Inv<Stub: TypeVariable(R)>, Inv<Stub: TypeVariable(R)>?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.getInv: R|Inv<Stub: TypeVariable(R)>|>|())
R|/id|<R|Stub: TypeVariable(R)|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
R|/select|<R|Stub: TypeVariable(R)|>(vararg(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|(), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()))
R|/select|<R|Stub: TypeVariable(R)?|>(vararg(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()), Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())))
R?C|/select|(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
select#(getInv#(), getInv#())
select#(Test#.foo#(getInv#()), Test#.foo#(getInv#()))
select#(Test#.foo#(getInv#()), getInv#())
select#(getInv#(), Test#.foo#(getInv#()))
select#(id#(get#()), id#(get#()))
build2#(<L> = build2@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
emit#(IntegerLiteral(1))
select#(this@build#.get#(), get#())
select#(Test#.foo#(this@build#.get#()), Test#.foo#(get#()))
select#(this@build#.getInv#(), getInv#())
select#(Test#.foo#(this@build#.getInv#()), Test#.foo#(getInv#()))
select#(Test#.foo#(this@build#.getInv#()), getInv#())
select#(id#(this@build#.get#()), id#(get#()))
String()
}
)
String()
}
)
java.lang.RuntimeException: While resolving call R?C|/build|(<L> = build@fun R|TestInterface<Stub: TypeVariable(R)>|.<anonymous>(): R|kotlin/Unit| <inline=Unknown> {
this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.emit: R|kotlin/Unit|>|(String(1))
Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
Q|Test|.R|/Test.foo|<R|ft<Inv<Stub: TypeVariable(R)>, Inv<Stub: TypeVariable(R)>?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.getInv: R|Inv<Stub: TypeVariable(R)>|>|())
R|/id|<R|Stub: TypeVariable(R)|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
R|/select|<R|Stub: TypeVariable(R)|>(vararg(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|(), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()))
R|/select|<R|Stub: TypeVariable(R)?|>(vararg(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()), Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())))
R?C|/select|(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
select#(getInv#(), getInv#())
select#(Test#.foo#(getInv#()), Test#.foo#(getInv#()))
select#(Test#.foo#(getInv#()), getInv#())
select#(getInv#(), Test#.foo#(getInv#()))
select#(id#(get#()), id#(get#()))
build2#(<L> = build2@fun <implicit>.<anonymous>(): <implicit> <inline=Unknown> {
emit#(IntegerLiteral(1))
select#(this@build#.get#(), get#())
select#(Test#.foo#(this@build#.get#()), Test#.foo#(get#()))
select#(this@build#.getInv#(), getInv#())
select#(Test#.foo#(this@build#.getInv#()), Test#.foo#(getInv#()))
select#(Test#.foo#(this@build#.getInv#()), getInv#())
select#(id#(this@build#.get#()), id#(get#()))
String()
}
)
String()
}
)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37)
at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:104)
at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:34)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformLocalVariable(FirDeclarationsResolveTransformer.kt:276)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformProperty(FirDeclarationsResolveTransformer.kt:119)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:259)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirProperty.transform(FirProperty.kt:58)
at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28)
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformBody(FirSimpleFunctionImpl.kt:99)
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:75)
at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:33)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:490)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:41)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:479)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:477)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.forFunctionBody(BodyResolveContext.kt:896)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformSimpleFunction(FirDeclarationsResolveTransformer.kt:477)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:281)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirSimpleFunction.transform(FirSimpleFunction.kt:52)
at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformInplace(FirTransformerUtil.kt:19)
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformDeclarations(FirFileImpl.kt:61)
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:46)
at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:25)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:54)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:37)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:23)
at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37)
at org.jetbrains.kotlin.fir.resolve.transformers.FirTransformerBasedResolveProcessor.processFile(FirResolveProcessor.kt:29)
at org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor.process(FirTotalResolveProcessor.kt:23)
at org.jetbrains.kotlin.fir.analysis.FirAnalyzerFacade.runResolution(FirAnalyzerFacade.kt:69)
at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:75)
at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:26)
at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:36)
at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:25)
at org.jetbrains.kotlin.test.TestRunner.processModule(TestRunner.kt:125)
at org.jetbrains.kotlin.test.TestRunner.runTestImpl(TestRunner.kt:66)
at org.jetbrains.kotlin.test.TestRunner.runTest(TestRunner.kt:20)
at org.jetbrains.kotlin.test.TestRunner.runTest$default(TestRunner.kt:18)
at org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest.runTest(AbstractKotlinCompilerTest.kt:80)
at org.jetbrains.kotlin.test.runners.FirOldFrontendDiagnosticsTestGenerated$Tests$Inference$BuilderInference$StubTypes.testCommonSuperTypeNullable(FirOldFrontendDiagnosticsTestGenerated.java:12723)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688)
at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131)
at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140)
at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84)
at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115)
at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45)
at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104)
at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131)
at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389)
at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389)
at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389)
at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129)
at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127)
at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126)
at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84)
at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185)
at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: java.lang.RuntimeException: While resolving call R?C|/select|(Q|Test|.R|/Test.foo|<R|ft<Stub: TypeVariable(R), Stub: TypeVariable(R)?>|>(this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|()), this@R|special/anonymous|.R|SubstitutionOverride</TestInterface.get: R|Stub: TypeVariable(R)|>|())
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37)
at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28)
at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformBody(FirAnonymousFunctionImpl.kt:102)
at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:74)
at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:31)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:430)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:41)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:638)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:636)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.withAnonymousFunction(BodyResolveContext.kt:946)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunction(FirDeclarationsResolveTransformer.kt:636)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:306)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:27)
at org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction.transform(FirAnonymousFunction.kt:50)
at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformSingle(FirTransformerUtil.kt:12)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments(FirCallCompleter.kt:239)
at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyzeLambda(PostponedArgumentsAnalyzer.kt:131)
at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyze(PostponedArgumentsAnalyzer.kt:59)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:125)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:124)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.analyzeArgumentWithFixedParameterTypes(ConstraintSystemCompleter.kt:131)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:48)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296)
... 139 more
Caused by: java.lang.AssertionError: There should be at least one non-stub type to compute common supertype but there are: [Stub: TypeVariable(R)?, Stub: TypeVariable(R)]
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForNotNullTypes(NewCommonSuperTypeCalculator.kt:174)
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForSimpleTypes(NewCommonSuperTypeCalculator.kt:93)
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:53)
at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:18)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.computeCommonSuperType(ResultTypeResolver.kt:175)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findSubType(ResultTypeResolver.kt:135)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultTypeOrNull(ResultTypeResolver.kt:42)
at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultType(ResultTypeResolver.kt:27)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariable(ConstraintSystemCompleter.kt:322)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariablesOrReportNotEnoughInformation(ConstraintSystemCompleter.kt:219)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:108)
at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118)
at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80)
at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296)
... 176 more
@@ -15,10 +15,10 @@ class Test {
import kotlin.experimental.ExperimentalTypeInference
@UseExperimental(ExperimentalTypeInference::class)
fun <R> build(@BuilderInference block: TestInterface<R>.() -> Unit): R = TODO()
fun <R> build(@<!EXPERIMENTAL_API_USAGE_ERROR!>BuilderInference<!> block: TestInterface<R>.() -> Unit): R = TODO()
@UseExperimental(ExperimentalTypeInference::class)
fun <R> build2(@BuilderInference block: TestInterface<R>.() -> Unit): R = TODO()
fun <R> build2(@<!EXPERIMENTAL_API_USAGE_ERROR!>BuilderInference<!> block: TestInterface<R>.() -> Unit): R = TODO()
class Inv<K>