Дополнительные ограничения для компилятора kotlin, использующего контракты - PullRequest
0 голосов
/ 20 сентября 2019

Я пытаюсь реализовать дополнительные ограничения для компилятора kotlin:

fun main() {
    val list = listOf(1)
    val bigList = listOf(3)

    list.second()
}


fun List<Int>.second(): Int {
    require(size > 1)
    return this[1]
}

Я ожидаю, что в этом случае компиляция не удастся.Можно ли реализовать с использованием контрактов?Благодарим за любую помощь.

...