Я разрабатываю модульный тест на Android, используя mockito- kotlin.
Я пытался шпионить за функцией, поэтому я сделал следующий код, чтобы сделать это, и она отлично работает .
В этом случае AndroidStudio указал, что приведение не было необходимости, но когда удаление приведено, тип меняется на Foo вместо Foo -> Единица измерения:
private val onClick /*:(Foo) -> Unit*/ = spy({ foo: Foo -> } as (Foo) -> Unit)
private val onClick /*:(Foo) -> Unit*/ = { foo: Foo -> }
private val onClick /*:Foo*/ = spy({ foo: Foo -> })
Как компилятор пришел к выводу, что типом является Foo, а также как мне написать код, чтобы избежать ненужного предупреждения приведения?