FIR: Fix inference of nullable unit lambda at RHS of elvis

This commit is contained in:
Denis.Zharkov
2021-11-18 11:15:52 +03:00
committed by teamcityserver
parent 46217318c0
commit c0a46eaefd
6 changed files with 34 additions and 1 deletions
@@ -787,8 +787,9 @@ open class FirDeclarationsResolveTransformer(transformer: FirBodyResolveTransfor
val implicitReturns = returnExpressionsExceptLast.filter {
(it as? FirExpression)?.typeRef is FirImplicitUnitTypeRef
}
val returnType =
if (implicitReturns.isNotEmpty()) {
if (implicitReturns.isNotEmpty() || lambda.returnType?.isUnit == true) {
// i.e., early return, e.g., l@{ ... return@l ... }
// Note that the last statement will be coerced to Unit if needed.
session.builtinTypes.unitType.type