edwardwongtl
12/10/2018, 9:51 AM??? such that toResult won’t error? I’ve tried Nothing and it is not working
sealed class ApiResult<T>
data class Success<T>(
val msg: String,
val data: T
) : ApiResult<T>()
data class Failure(
val error: String,
val errMsg: String
) : ApiResult<???>()
fun toResult(): ApiResult<User> {
return if (error == "0") Success(
msg = msg, data = movies
) else Failure(error = error, errMsg = errMsg)
}edwardwongtl
12/10/2018, 9:52 AMNothing got me error Required: ApiResult<User>, Found: Failurekarelpeeters
12/10/2018, 9:53 AMUnit maybe?marstran
12/10/2018, 9:53 AMT covariant by marking it with out. Then Nothing should work.marstran
12/10/2018, 9:53 AMsealed class ApiResult<out T>
data class Success<T>(
val msg: String,
val data: T
) : ApiResult<T>()
data class Failure(
val error: String,
val errMsg: String
) : ApiResult<Nothing>()marstran
12/10/2018, 9:54 AMApiResult<Nothing> a subtype of ApiResult<T> for all T.edwardwongtl
12/10/2018, 9:54 AMout trick works!! Thanksmarstran
12/10/2018, 9:55 AMDico
12/10/2018, 12:43 PM