Fix type constraints of empty lambda (KT-28654 fix)

This commit is contained in:
Dmitriy Novozhilov
2019-02-20 10:09:32 +03:00
parent 2ba33c3b8a
commit d58ee133a2
2 changed files with 4 additions and 2 deletions
@@ -98,7 +98,9 @@ class PostponedArgumentsAnalyzer(
if (returnArguments.isEmpty()) {
val unitType = lambda.returnType.builtIns.unitType
c.getBuilder().addSubtypeConstraint(lambda.returnType.let(::substitute), unitType, LambdaArgumentConstraintPosition(lambda))
val lambdaReturnType = lambda.returnType.let(::substitute)
c.getBuilder().addSubtypeConstraint(lambdaReturnType, unitType, LambdaArgumentConstraintPosition(lambda))
c.getBuilder().addSubtypeConstraint(unitType, lambdaReturnType, LambdaArgumentConstraintPosition(lambda))
}
lambda.setAnalyzedResults(returnArguments, subResolvedKtPrimitives)