Структурный тип в методе параметризации типа в Scala?

Рассмотрим следующий код Scala (например, в REPL)

object A{def foo:Unit = {}}
object B{def foo:Unit = {}}

def bar[T <: Any {def foo: Unit}](param: T*):Unit = param.foreach(x => x.foo)

bar(A, A)  // works fine
bar(B, B)  // works fine
bar(A, B)  // gives error

Первые два работают нормально. Третий дает ошибку:

error: inferred type arguments [ScalaObject] do not conform to method bar's type parameter bounds [T <: Any{def foo: Unit}]

Есть ли способы сделать то, что я хочу?

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

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