Я понял, как работает вывод базового типа в Kotlin, но мне интересно, могу ли я вызвать функцию только со всеми аргументами типа или без них, или я могу как-то определить аргументы типа переменной;Например:
fun<A: SomeClass1, B: SomeClass2, T: SomeTuple<A,B>> foo(t:SomeTuple<A,B>?=null) = doSomething<A,B,T>(t)
эта функция может быть вызвана через foo(someTuple)
или foo<SomeClass1,SomeClass2,SomeTuple<Someclass1,SomeClass2>>()
, хотя ясно, что первые два аргумента типа являются неизменяемыми из последних;
Возможно ли этосделать что-то вроде foo<SomeTuple<Someclass1,SomeClass2>>()
и при этом иметь возможность выводить и использовать A
и B
внутри тела функции