Я пишу две функции расширения для одного и того же класса:
class Something<T:Any> { ... }
Они выглядят так:
fun Something<Int>.toJson(): String = ...
fun Something<Double>.toJson(): String = ...
И приводит к ошибке компилятора:
Kotlin: конфликт объявления платформы: следующие объявления имеют одну и ту же подпись JVM
Как я могу создать две функции расширения с различной сигнатурой generics? или это невозможно?
Примечание: этот вопрос намеренно написан автором и автору (Автоответчик), так что ответы на часто задаваемые вопросы Темы Котлина представлены в SO. Он возник из Kotlin slack #general channel.