Как ограничить параметр функции расширения Kotlin таким же, как расширенный тип?

Я хочу написать метод расширения для универсального типа T, где сопоставляемый тип ограничивает параметр метода.

Я хочу это скомпилировать:

"Hello".thing("world")

Но не это, так как 42 не строка:

"Hello".thing(42)

Это определение не работает, потому что T удовлетворяетсяAny

fun <T> T.thing(p: T) {}

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

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