1.0 RC: Private setters for non-private lateinit vars are prohibited

To implement a read-only property use val's. The line that you quote is about lateinit properties that can not be val's, because val's are final and must be initialized in constructor, which is the exact opposite of lateinit.

Why lateinit var's can’t have private setters: because they are exposed as fields to Java, and the privateness of the accessor does not protect anything.