Как исправить подпись обобщенного метода расширения в kotlin для разрешения «Ошибка вывода типа» в kotlin

Я создал метод расширения:

@Suppress("UNCHECKED_CAST") operator fun <T : View> View.get(@IdRes id:Int): T = this.findViewById(id) as T 

Основное использование этого метода:

 class A { lateinit var text: TextView fun init(view:View) { text = view[R.id.text] } } 

Это работает отлично, но когда я пытаюсь использовать его без переменной:

 fun test() { view[R.id.text].visibility = View.GONE // error } 

Ошибка:

 Type inference failed: Not enough information to infer parameter T in operator fun <T : View> View.get(id: Int): T Please specify it explicitly. 

Если я напишу аналоговый код в java, методы класса View доступны без прямой спецификации типа View.

Возможно ли это в котлин? Может быть, некоторые изменения в подписи общего типа каким-то образом?

Solutions Collecting From Web of "Как исправить подпись обобщенного метода расширения в kotlin для разрешения «Ошибка вывода типа» в kotlin"