они не одинаковые, какой смарткаст? )
я немножко облажался с примером. Я поправил на input.data.content fun extractContent(input: State<Container>): State<Content> { return when (input) { is State.Success -> State.Success(input.data.content) is State.Loading -> input is State.Failure -> input } } вот этот же пример работает
блин в глаза долюлюсь. понял. когда ты явно перечисляешь условия со всеми все sealed-типами там контракт на условие срабатывает и input приводится, когда просто пишешь else контракт не срабатывает и тип не приводится, а остается заявленным State<Container> который как раз таки для возврата не годится
а есть какая-то сложность с реализацией, чтобы контракт сработал в первом случае? Или может где-то на ютрэке реквест лежит? Я просто понять не могу, это я глупый не знающий про контракты, или и правда есть ощущение, что должно бы работать такое
Обсуждают сегодня