michaelrocks
12/09/2015, 9:42 AMlateinit was introduced recently as a workaround for an interop problem with frameworks like Dagger. These fields don’t require initialization but there’re a few limitations. At first you cannot declare a lateinit val. Second, lateinit property will have its backing field with the same access level as the property itself. And third, you cannot have different access levels for a getter and a setter.