недопустимый вызов метода блокировки при вызове метода, помеченного символом @Throws(IOException::class)

#kotlin #intellij-idea #kotlin-coroutines

#kotlin #intellij-idea #kotlin-сопрограммы

Вопрос:

 suspend fun load(): List<Device> {
    ...
    val response = withContext(Dispatchers.IO) {

        request.auth(authorizer).get(uri)
    }

    return response.data.devices
}
  

В приведенном выше коде вызов auth работает, потому что он не отмечен @Throws
но get выглядит так:

 @Throws(RequestFailedException::class, IOException::class, SigningException::class)
operator fun get(uri: URI): RestResponse
  

IntelliJ помечает функцию get -символом Inappropriate blocking method call

Я не уверен, является ли это ложным / положительным или нет. Если нет — как мне справиться с этой ситуацией? (Я не могу переписать get -Function …)

Я нашел этот отчет о проблеме https://youtrack.jetbrains.com/issue/KT-39684 и попытался обновиться до сопрограмм 1.4.0 и понизить версию до 1.8.3 — ничего не помогло

Комментарии:

1. Я бы предположил, что это связано с плагином kotlin, а не с самой ИДЕЕЙ

2. Какова версия вашего плагина kotlin? Я не уверен, что это поможет.