34e6649d31
Before this commit, nullable argument could match not null parameter. Now we require also correct nullability that breaks some cases
32 lines
694 B
Kotlin
Vendored
32 lines
694 B
Kotlin
Vendored
// !DIAGNOSTICS: -DEBUG_INFO_SMARTCAST
|
|
fun bar(x: Int) = x + 1
|
|
|
|
fun foo() {
|
|
val x: Int? = null
|
|
|
|
if (x != null) {
|
|
bar(x)
|
|
if (x != null) {
|
|
bar(x)
|
|
if (1 < 2) bar(x)
|
|
if (1 > 2) bar(x)
|
|
}
|
|
if (x == null) {
|
|
bar(x)
|
|
}
|
|
if (x == null) bar(x) else bar(x)
|
|
bar(bar(x))
|
|
} else if (x == null) {
|
|
<!INAPPLICABLE_CANDIDATE!>bar<!>(x)
|
|
if (x != null) {
|
|
bar(x)
|
|
if (x == null) bar(x)
|
|
if (x == null) bar(x) else bar(x)
|
|
bar(bar(x) + bar(x))
|
|
} else if (x == null) {
|
|
<!INAPPLICABLE_CANDIDATE!>bar<!>(x)
|
|
}
|
|
}
|
|
|
|
}
|