Size: a a a

Kotlin Community

2020 December 17

AN

Alexander Nozik in Kotlin Community
То есть, если бы не было инлайн функций, то было бы нормально. Но так, как они есть - есть путанница
источник

AM

Andrew Mikhaylov in Kotlin Community
Alexander Nozik
О, до самого важного дочитал. нет дополнительного боксинга ссылочных объектов
Я может жопой читал, конечно, но о чём речь? Я не увидел отличий от того, что было раньше.
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
Я может жопой читал, конечно, но о чём речь? Я не увидел отличий от того, что было раньше.
Смысл в том, что если завернутый тип - ссылка, то оберточный тип не создается, а исользуется родной null из Java
источник

AM

Andrew Mikhaylov in Kotlin Community
Alexander Nozik
Смысл в том, что если завернутый тип - ссылка, то оберточный тип не создается, а исользуется родной null из Java
Так вроде и до этого так было, не?
источник

AN

Alexander Nozik in Kotlin Community
Andrew Mikhaylov
Так вроде и до этого так было, не?
Не знаю, если было, значит я проглядел.
источник

I

Ilmir in Kotlin Community
Andrew Mikhaylov
Так вроде и до этого так было, не?
Было де-юре, де-факто не работало в корутинах, если возвращаемый тип ссылочный. Я починил в 1.4.20.
источник

AM

Andrew Mikhaylov in Kotlin Community
Ilmir
Было де-юре, де-факто не работало в корутинах, если возвращаемый тип ссылочный. Я починил в 1.4.20.
Ну я про де-юре, да. Спасибо.
источник

AM

Andrew Mikhaylov in Kotlin Community
источник

I

Ilmir in Kotlin Community
Поправлю, спасибо. Бага в документации.
источник

AM

Andrew Mikhaylov in Kotlin Community
А, до меня дошло, что имелось ввиду.
источник

AM

Andrew Mikhaylov in Kotlin Community
Ilmir
Поправлю, спасибо. Бага в документации.
> Sidenote: maybe it's worth to consider inline classes with reified generics
🥺
источник

I

Ilmir in Kotlin Community
Andrew Mikhaylov
А, до меня дошло, что имелось ввиду.
Да, стоит заменить hold на be, чтобы было понятнее, что имелось в виду.
источник

I

Ilmir in Kotlin Community
Andrew Mikhaylov
> Sidenote: maybe it's worth to consider inline classes with reified generics
🥺
Да, из-за этого underlying type инлайн класса не может быть generic.
источник

AM

Andrew Mikhaylov in Kotlin Community
Ух ты, и typed equals для них есть.
источник

I

Igor in Kotlin Community
Подскажите, как переиспользовать exceptionHandler внутри suspend функции
вот пример:

val handler = CoroutineExceptionHandler { _, exception ->
           println("CoroutineExceptionHandler got $exception")
           }
val scope = CoroutineScope(SupervisorJob())
val scope2 = CoroutineScope(Job())

@Synchronized
suspend fun criticalSectionSuspending() {
 println("Starting!")

    val someJob = scope2.launch {
         delay(20)
                    println("Delay!")
                   throw Exception("Delay Exception")                
           }
    println("Ending!")
}
fun main() {
 scope.launch(handler) {criticalSectionSuspending()}
}


Ошибка не ловится в handler
источник

AL

Anton Lakotka in Kotlin Community
а почему не?

scope.launch { try { criticalSectionSuspending() } catch (e: Throwable) {  } }
источник

I

Igor in Kotlin Community
ну вопрос о CoroutineExceptionHandler
источник

I

Igor in Kotlin Community
в примере он в корневой launch передается, вроде как должен все ловить
источник

AL

Anton Lakotka in Kotlin Community
ну а чего оно должно ловится если ты вызываешь эксепшн в совершенно другом скоупе scope2
источник

AL

Anton Lakotka in Kotlin Community
println("Starting!") и println("Ending!") отработают почти мгновенно
источник