Перегрузка сеттера в Котлине

При попытке определить сеттер, который принимает тип параметра, который может быть использован для построения свойства, таким образом:

class Buffer(buf: String) {} class Foo { var buffer: Buffer? = null set(value: String) { field = Buffer(value) } } 

Я получаю сообщение об ошибке:

Тип параметра Setter должен быть равен типу свойства

Итак, что значит быть способом Котлина?

    Что касается Kotlin 1.1, невозможно перегрузить средства размещения. Запрос функции отслеживается здесь:

    https://youtrack.jetbrains.com/issue/KT-4075

    В настоящее время вам нужно будет определить функцию расширения buffer для String :

     val String.buffer : Buffer get() = Buffer(this) 

    и установите значение с помощью

     Foo().buffer = "123".buffer