В этой версии языка исправлено множество ошибок, а также введена поддержка ленивых значений (значений, вычисляющихся при первом обращении к ним), структурных типов и экзистенциальных типов.
Структурные типы позволяют использовать в коде Ruby-like конструкции:
def test(f: { def getName(): String }){
println(f.getName)
}
Здесь test принимает в качестве параметра любой объект, имеющий в составе метод getName, возвращающий String
>>> Подробности