Wie kann ich festlegen, dass ein Kotlin-Erweiterungsfunktionsparameter dem erweiterten Typ entspricht?
Ich möchte eine Erweiterungsmethode für einen generischen Typ T schreiben, wobei der übereinstimmende Typ einen Methodenparameter einschränkt.
Ich möchte dies kompilieren:
"Hello".thing("world")
Aber das nicht, da 42 kein String ist:
"Hello".thing(42)
Diese Definition funktioniert nicht, da T mit @ erfüllt isAny
fun <T> T.thing(p: T) {}