Предположим, есть три функции:
def foo[T](a:T, b:T): T = a
def test1 = foo(1, "2")
def test2 = foo(List(), ListBuffer())
Пока test1 имеет тип Any, test2 не компилируется. Это почему? И List (), и ListBuffer () относятся к типу Any, так почему же test2 также не относится к типу Any? Также оба они имеют тип SeqFactory, так может ли Scala каким-то образом сделать вывод, что тип test2 - это SeqFactory?
foo (ListBuffer (), "")
и foo (List (), "")
работают должным образом