правильно ли я понимаю, что основные отличия inline функций от обычных лямбд:
1. нет оверхеда т.к. просто копируется кусок кода (это очевидное)
2. inline нельзя передать в другую функцию, а лямбду можно, поэтому там и генерируется анонимный класс
s
semoro
05/29/2018, 7:52 PM
2. можно, если пометить лямбда-параметер crossinline
👍 1
1. Именно так, а ещё можно использовать reified generic type parameters - такие generic-и, которые не стираются на runtime
v
voddan
05/30/2018, 4:27 AM
3. Возможный существенный оверхед из-за дубликации байткода
u
123
05/30/2018, 4:49 AM
@voddan это для каких именно функций? инлайн?
v
voddan
05/30/2018, 5:41 AM
@123 для любой инлайн функции которая содержит хотя бы несколько операций. Эффект зависит от конкретного случая