юзкейс со внедрением через аннотацию, то нафига еще lateinit нужен то?
Больше нафиг не нужен. Это просто удобный костыль для взаимодействия с кодом, который уже не спасти.
Я искренне не очень понимаю проблему. Есть язык. Одна из его целей была в том, чтобы быть удобным для существующих java-решений. Часть из них предполагают, что инициализация будет сделана не в конструкторе. Фигово это? Возможно. Стоит ли значит забить? Наверное нет, такого всё ещё много, а альтернатива делать больно людям тоже плохая. Поэтому мы имеем фичу, где мы явно говорим "вот тебе способ сделать удобно, вот так он довольно предсказуемо может выстрелить, если вы будете использовать её не по назначению". Поэтому вопрос простой - у вас такой кейс, чтобы использовать фичу? (инициализация параметра вне конструктора и вообще никак это не обойти, но вы точно уверены, что к моменту использования вы проинициализируете) - юзайте, это для вас. Не такой кейс - не юзайте. Ошибка вылезает читабельная, насколько я помню.
Обсуждают сегодня