Do not throw an exception when a when-statement with no else makes no match
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
fun box(): String {
|
||||
var r = "OK"
|
||||
val x = 3
|
||||
val y: Unit = when (x) {
|
||||
1 -> { r = "Fail 0" }
|
||||
2 -> { r = "Fail 1" }
|
||||
}
|
||||
return r
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
enum class En {
|
||||
A
|
||||
B
|
||||
}
|
||||
|
||||
fun box(): String = when(En.A) {
|
||||
En.A -> "OK"
|
||||
En.B -> "Fail 1"
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
enum class En {
|
||||
A
|
||||
B
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
when(En.A) {
|
||||
En.A -> "s1"
|
||||
En.B -> "s2"
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
enum class En {
|
||||
A
|
||||
B
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
|
||||
val u: Unit = when(En.A) {
|
||||
En.A -> {}
|
||||
En.B -> {}
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
var r = "OK"
|
||||
|
||||
fun foo(x: Int) {
|
||||
return when (x) {
|
||||
1 -> { r = "Fail" }
|
||||
}
|
||||
}
|
||||
fun box(): String {
|
||||
foo(0)
|
||||
return r
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
fun box(): String {
|
||||
val x = 3
|
||||
when (x) {
|
||||
1 -> {}
|
||||
2 -> {}
|
||||
}
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user