"вывод типа не выполнен" в `JsonArray::contains`?

Этот тест здесь:

test("can add and retrieve array values"){
    //given
    val ja = JsonArray()
    with(ja){
        add(1)
        add(2)
        add(3)
        add(4)
        add(5)
    }
    //when
    val jo = json {
        "emptyArray" to JsonArray()
        "preparedArray" to ja
    }
    //then
    jo shouldBe instanceOf(JsonObject::class)
    jo["emptyArray"].asJsonArray.size() shouldBe 0
    val retJa = jo["preparedArray"].asJsonArray
    retJa.size() shouldBe 5
    (1..5).forEach{
        retJa.contains(it) shouldBe true
    }
}

не компилируется и жалуется на .contains тот

Вывод типа не удался. Значение параметра типа T должно быть упомянуто во входных типах (типы аргументов, тип получателя или ожидаемый тип). Попробуйте указать это явно.

Я попытался заменить его на

(retJa as Iterable<JsonElement>).contains(it) shouldBe true

но это ничего не изменило.

Как мне сказать компилятору, что он хочет знать?

0 ответов

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