try-with-resources: функция расширения «use» в Kotlin не всегда работает

У меня были некоторые проблемы с выражением Javaпримерочных с-ресурсы построить в Котлине. В моем понимании, каждое выражение, которое является примеромAutoClosable должен предоставитьuse функция расширения.

Вот полный пример:

import java.io.BufferedReader;
import java.io.FileReader;

import org.openrdf.query.TupleQuery;
import org.openrdf.query.TupleQueryResult;

public class Test {

    static String foo(String path) throws Throwable {
        try (BufferedReader r =
           new BufferedReader(new FileReader(path))) {
          return "";
        }
    }

    static String bar(TupleQuery query) throws Throwable {
        try (TupleQueryResult r = query.evaluate()) {
          return "";
        }
    }
}

Конвертер Java-Kotlin создает эти выходные данные:

import java.io.BufferedReader
import java.io.FileReader

import org.openrdf.query.TupleQuery
import org.openrdf.query.TupleQueryResult

object Test {

    @Throws(Throwable::class)
    internal fun foo(path: String): String {
        BufferedReader(FileReader(path)).use { r -> return "" }
    }

    @Throws(Throwable::class)
    internal fun bar(query: TupleQuery): String {
        query.evaluate().use { r -> return "" } // ERROR
    }
}

foo работает нормально, но код вbar не компилируется:

Error:(16, 26) Kotlin: Unresolved reference.
None of the following candidates is applicable
because of receiver type mismatch: 
public inline fun <T : java.io.Closeable, R>
???.use(block: (???) -> ???): ??? defined in kotlin.io

query.evaluate() изкунжут и реализуетAutoClosable, Это ошибка Kotlin, или есть причина, почему она не работает?

Я использую IDEA 15.0.3 с Kotlin 1.0.0-beta-4584-IJ143-12 и следующиеsasame-runtime версия:

<groupId>org.openrdf.sesame</groupId>
<artifactId>sesame-runtime</artifactId>
<version>4.0.2</version>

Ответы на вопрос(1)

Ваш ответ на вопрос