Return Unit.VALUE if Unit or Any is expected
StackValue.coerce will do its job in casting void to Unit correctly #KT-4212 Fixed
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
fun foo(): Any? = bar()
|
||||
|
||||
fun bar() {}
|
||||
|
||||
fun baz(): Any? {
|
||||
return bar()
|
||||
}
|
||||
|
||||
fun quux(): Unit? = bar()
|
||||
|
||||
fun box(): String {
|
||||
foo()
|
||||
|
||||
if (foo() != Unit.VALUE) return "Fail 1"
|
||||
if (foo() != bar()) return "Fail 2"
|
||||
if (bar() != baz()) return "Fail 3"
|
||||
if (baz() != quux()) return "Fail 4"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user