Fix coercion to Unit when variable already have other constraints
Don't add `Unit` if variable has an upper constraint T <: A. It's impossible to coerce variable T to Unit as constraint system will be always contradictory: T := Unit => Unit should be subtype of A #KT-39900 Fixed
This commit is contained in:
+5
@@ -10664,6 +10664,11 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirOldFronte
|
||||
runTest("compiler/testData/diagnostics/tests/inference/coercionToUnit/coercionWithoutExpectedType.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("coerctionToUnitForATypeWithUpperBound.kt")
|
||||
public void testCoerctionToUnitForATypeWithUpperBound() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/coercionToUnit/coerctionToUnitForATypeWithUpperBound.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("coersionWithAnonymousFunctionsAndUnresolved.kt")
|
||||
public void testCoersionWithAnonymousFunctionsAndUnresolved() throws Exception {
|
||||
runTest("compiler/testData/diagnostics/tests/inference/coercionToUnit/coersionWithAnonymousFunctionsAndUnresolved.kt");
|
||||
|
||||
Reference in New Issue
Block a user