// KT-2221 if in when package foo fun test(caseId: Int, value: Int, expected: Int) { val actual: Int when (caseId) { 0 -> if (value < 0) actual = -value else actual = value 1 -> actual = if (value < 0) -value else value else -> throw Exception("Unexpected case: $caseId") } if (expected != actual) throw Exception("expected = $expected, actual = $actual") } fun box(): String { test(0, 3, 3) test(0, -13, 13) test(1, 23, 23) test(1, -3, 3) return "OK" }