找出配送状态标签里的 bug

来自 密封类与密封接口
Kotlin 2.4.10 进阶 4分钟 找出 1处问题

每种配送状态都需要明确标签。请找出破坏编译期检查的代码行。

kotlin
sealed interface DeliveryState {
    data object Queued : DeliveryState
    data object Sent : DeliveryState
    data class Failed(val reason: String) : DeliveryState
}

fun label(state: DeliveryState): String = when (state) {
    DeliveryState.Queued -> "queued"
    DeliveryState.Sent -> "sent"
    else -> "unknown"
}

fun main() {
    println(label(DeliveryState.Failed("offline")))
}
在试验场中打开
报告错误