Jukka Siivonen
04/01/2022, 9:29 AMJukka Siivonen
04/01/2022, 9:30 AMthanksforallthefish
04/01/2022, 9:31 AMobject Bar2 : Reason()
Jukka Siivonen
04/01/2022, 9:32 AMRob Elliot
04/01/2022, 9:34 AMobject
isn't a subtype of the thing it's nested in. Bar1
has type BarReason.Bar1
, which is not a subtype of BarReason
.thanksforallthefish
04/01/2022, 9:34 AMval reason: BarReason = BarReason.Bar1
fails righ?thanksforallthefish
04/01/2022, 9:34 AMJukka Siivonen
04/01/2022, 9:36 AMVampire
04/01/2022, 9:41 AMobject Bar2 : BarReason()
Jukka Siivonen
04/01/2022, 9:45 AMsealed class Reason
sealed class FooReason: Reason()
sealed class BarReason: Reason()
object Bar1: BarReason()
fun reason(reason: Reason) {
when (reason) {
is FooReason -> println("Foo reason" + reason)
is BarReason -> println("Bar reason" + reason)
}
}
class ReasonTest {
fun test() {
reason(Bar1)
}
}
Jukka Siivonen
04/01/2022, 9:45 AM