When a class delegates an interface to a constructor parameter, what is the lifetime/visibility of that delegate parameter inside the class?
interface Logger { fun log(m: String) }
class FileLogger : Logger { override fun log(m: String) {} }
class Service(logger: Logger) : Logger by logger {
fun doWork() {
// can we reference `logger` here?
}
}