Я хочу написать метод расширения для общего типа T, где подобранный тип сдерживает параметр метода.
Я хочу, чтобы это скомпилировалось:
"Hello".thing("world")
Но не это, поскольку 42 не является строкой:
"Hello".thing(42)
Это определение не работает, так как T выполняется Any
fun <T> T.thing(p: T) {}