Рассмотрим следующий класс Java:
public class SomeClass {
public interface Something {
void doSomething();
}
public void call(Something something) {}
}
В Котлин я могу использовать лямбда-выражение следующим образом:
SomeClass().call {
// do something
}
Но если я определяю следующий метод в Котлине (используя тот же интерфейс):
fun call(something: Something) {}
Затем этот вызов:
call {
// do something
}
Генерирует ошибку несоответствия типа. Почему?