Почему == и равные производят разные результаты?

Выполнение следующего кода:

inline fun <reified R> foobar() { println(R::class == Double::class) println(R::class.equals(Double::class)) } fun main(args: Array<String>) { foobar<Double>() } 

Производит следующий вывод:

 false true 

Почему в этом случае существует разница между == и equals? Сам IntelliJ предлагает заменить знак равенства на ==. Кроме того, я мог бы поклясться, что этот код с использованием == работал в прошлом.

Использование kotlin версии 1.1.0-rc91

Такое поведение является известной проблемой в генерации кода для токенов класса с параметрами типа reified , и это отслеживается здесь: KT-17748 .