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

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

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

    list.second()
}


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

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

0 ответов

Другие вопросы по тегам