[NI] Check stub types in result type

An uninferred parameter stub may leak through calculation of CST(Inv<Uninferred Stub>, Nothing) into a result type.
A stub type in the result type means a type error. So we can afford recalculating
CST with stub-containing types filtered out, since its an error anyway.
This prevents stub types leakages and helps with reporting type error diagnostics.

KT-35914 Fixed
KT-35943 Fixed
This commit is contained in:
Pavel Kirpichenkov
2020-01-17 11:43:50 +03:00
parent 581db19544
commit cb0b44273d
17 changed files with 210 additions and 4 deletions
@@ -25926,6 +25926,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
runTest("compiler/testData/codegen/box/regressions/kt3587.kt");
}
@TestMetadata("kt35914.kt")
public void testKt35914() throws Exception {
runTest("compiler/testData/codegen/box/regressions/kt35914.kt");
}
@TestMetadata("kt3850.kt")
public void testKt3850() throws Exception {
runTest("compiler/testData/codegen/box/regressions/kt3850.kt");