Eugen Martynov
02/28/2019, 4:25 PMwhen (...) {...} ?: Unitghedeon
02/28/2019, 4:27 PMgildor
02/28/2019, 4:33 PMgildor
02/28/2019, 4:34 PMEugen Martynov
02/28/2019, 4:51 PMEugen Martynov
02/28/2019, 4:51 PMDmitry Kandalov
03/01/2019, 12:47 PMval Unit.exhaustive get() = thisDmitry Kandalov
03/01/2019, 12:49 PMwhen (result) {
  ...
}.exhaustivegildor
03/01/2019, 1:11 PMgildor
03/01/2019, 1:12 PMgildor
03/01/2019, 1:13 PMDmitry Kandalov
03/01/2019, 1:13 PMwhengildor
03/01/2019, 1:14 PMgildor
03/11/2019, 2:28 AMЕсли не Unit, тоЭто же не так, один из бранчей может возвращать значение которое мы не используем, только не будет Unit и что бы это исправить каждый бранч который возвращает не Unit придется каким то образом передать в Unit Вот к примерук чему-нибудь присваиваетсяwhen
enum class Operation { Log, Delete }
fun log(id: String): Unit = TODO()
fun delete(id: String): Boolean = TODO()
when (case) {
    Operation.Log -> log("foo")
    Operation.Delete -> delete("bar")
}.exhaustive // Не работает так как типом этого экспрешена будет Any, а не Unitgildor
03/11/2019, 2:30 AMwhen (case) {
    Operation.Log -> log("foo")
    Operation.Delete -> {
        delete("bar")
        Unit
    }
}.exhaustivegildor
03/11/2019, 2:30 AMDmitry Kandalov
03/11/2019, 12:07 PMЕсли не Unit, тоЯ имел ввиду, что еслик чему-нибудь присваиваетсяwhen
whengildor
03/11/2019, 12:22 PM