Anko: внутренняя область применения, сбивающее с толку разрешение собственности

Я пишу план Android, используя Anko DSL. Когда я определяю TextView , я хотел бы сделать его центрированным, поэтому я написал следующее:

 verticalLayout { textView(R.string.txt_greeting).apply { gravity = Gravity.CENTER_HORIZONTAL // <- this should have changed the alignment textSize = 20.0f } //... } 

Но выравнивание не изменилось. В отладчике я увидел, что гравитация задана для LinearLayout которая является родителем TextView .

Изменение выражения для

 textView(R.string.txt_greeting).let { it.gravity = Gravity.CENTER_HORIZONTAL } 

а также

 textView(R.string.txt_greeting).apply { this@apply.gravity = Gravity.CENTER_HORIZONTAL } 

и даже

 textView(R.string.txt_greeting).apply { this.gravity = Gravity.CENTER_HORIZONTAL } 

решает проблему, поэтому в исходном коде подразумевается, что this определенно разрешено для this@verticalLayout .

Почему это происходит?

Не понимаю ли я что-то в лямбдах Котлин или это ошибка в Котлине или Анко?

На самом деле это была ошибка.

Соответствующая проблема отмечена как фиксированная, поэтому исправление, вероятно, появится в следующей версии.