A self-type is a way to denote the type on which the method is called (more formally called the receiver).
This repo contains a self-types design proposal for Kotlin language.
Links:
- YouTrack feature request
- Community discussions: first, second
- Sota paper on topic of
ThisType
implementation in Java - Master diploma (ru) with more details
- Prototype implementation
Repository structure: