From a0c92db819f3cc6c578f0649c274768668cdfe17 Mon Sep 17 00:00:00 2001 From: "Denis.Zharkov" Date: Thu, 21 Apr 2022 11:32:05 +0300 Subject: [PATCH] FIR: Support DNN types during unification of bare types See org.jetbrains.kotlin.test.runners.FirDiagnosticTestGenerated.Resolve.Types.testBareWithFlexibleArg --- .../src/org/jetbrains/kotlin/fir/types/TypeUnification.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/TypeUnification.kt b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/TypeUnification.kt index c9839e4abe3..790a627db90 100644 --- a/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/TypeUnification.kt +++ b/compiler/fir/providers/src/org/jetbrains/kotlin/fir/types/TypeUnification.kt @@ -76,6 +76,14 @@ fun FirSession.doUnify( ) } + if (typeWithParameters is ConeDefinitelyNotNullType) { + return doUnify( + originalTypeProjection, + typeWithParametersProjection.replaceType(typeWithParameters.original), + targetTypeParameters, result, + ) + } + // Foo ~ X? => fail if (originalType?.nullability != ConeNullability.NULLABLE && typeWithParameters?.nullability == ConeNullability.NULLABLE) { return true