Is the Lazy property delegate special?

All other delegates, including ones I write seem to require the getValue and setValue methods (https://kotlinlang.org/docs/delegated-properties.html).

But if you look at the implementation of lazy {} and Lazy<T>, they have no such methods.

I thought maybe that there was a “trick” of just naming a property value and that might work in place of the getValue and setValue methods with their signatures. But it does not.

Is this thing just special cased by the Kotlin devs?

submitted by /u/ragnese
[link] [comments]