Jeisson Sáchica
12/15/2020, 7:43 PMsealed
classes? I see a lot of issues like this https://youtrack.jetbrains.com/issue/KT-13495 marked as fixed a long time ago yet I experience this problem in 1.4.21sealed class User {
object Unauthenticated: User()
sealed class Authenticated: User() {
object Client: Authenticated()
object Owner: Authenticated()
}
}
fun getUser(): User {
return User.Authenticated.Client
}
fun main() {
when (val user: User = getUser()) {
is User.Unauthenticated -> { println("Not Authenticated!") }
is User.Authenticated -> {
when (user) {
is User.Authenticated.Client -> { println("Hello Client!") }
is User.Authenticated.Owner -> { println("Hello Owner!") }
}
}
}
}
The second when
expression shows the warning:when
expression user as Authenticated
but then it is marked as "unnecessary":Rafs
12/15/2020, 8:39 PMis
evaluation that is why your as
cast has been marked as uselessJeisson Sáchica
12/15/2020, 8:45 PMwhen
expression, the warning is in the first screenshotJavier
12/15/2020, 9:04 PM