Ответ
noinline — это модификатор в Kotlin, который указывает компилятору не встраивать лямбда-выражение при компиляции.
Используется, когда:
- Лямбда передаётся в другую функцию (например, асинхронный вызов).
- Нужно сохранить ссылку на лямбду (например, для повторного использования).
Пример:
inline fun execute(action: () -> Unit, noinline log: () -> Unit) {
log() // Не будет встроена
action()
}
Без noinline компилятор выдаст ошибку, если попытаться передать log в другую не-inline функцию.