Support new form of definitely non-nullable types: T & Any

^KT-26245 In Progress
This commit is contained in:
Denis.Zharkov
2021-08-09 12:10:51 +03:00
committed by teamcityserver
parent cdd8d1c163
commit 302eacbf59
53 changed files with 2139 additions and 196 deletions
@@ -0,0 +1,14 @@
// !LANGUAGE: +DefinitelyNotNullTypeParameters
fun <T> foo(x: T, y: T & Any): T & Any = x ?: y
fun main() {
foo<String>("", "").<!UNRESOLVED_REFERENCE!>length<!>
foo<String>("", null).<!UNRESOLVED_REFERENCE!>length<!>
foo<String?>(null, "").<!UNRESOLVED_REFERENCE!>length<!>
foo<String?>(null, null).<!UNRESOLVED_REFERENCE!>length<!>
foo("", "").<!UNRESOLVED_REFERENCE!>length<!>
foo("", null).<!UNRESOLVED_REFERENCE!>length<!>
foo(null, "").<!UNRESOLVED_REFERENCE!>length<!>
}