Enum.valueOf в Котлине

Есть ли способ сделать что-то подобное в Котлине без отражения?

inline fun <reified T : kotlin.Enum<T>> safeValueOf(type: String?): T? { return java.lang.Enum.valueOf(T::class.java, type) } 

Пример ниже не компилируется из-за:

Тип параметра, связанный для T в inline fun <reified T : kotlin.Enum<T>> safeValueOf(type: kotlin.String?): T? не выполняется: выведенный тип TestEnum? не является подтипом kotlin.Enum<TestEnum?>

 enum class TestEnum fun main() { val value: TestEnum? = safeValueOf("test") } 

Ваша функция работает, если вы явно укажете значение параметра типа:

 val value = safeValueOf<TestEnum>("test") 

Предполагается, что исходный код будет работать, но не работает из-за ошибки в реализации вывода типа: https://youtrack.jetbrains.com/issue/KT-11218