scala> class Foo[T <: Comparable[T]](val x : T)
defined class Foo
scala> (3: Int).asInstanceOf[Comparable[Int]]
res60: java.lang.Comparable[Int] = 3
scala> new Foo(3)
<console>:13: error: inferred type arguments [Int] do not conform to class Foo's type parameter bounds [T <: java.lang.Comparable[T]]
new Foo(3)
^
Является ли второе выражение результатом стирание типа?
Как мне определить Foo, чтобы я мог параметризовать его с помощью Int, но все же иметь возможность выполнять некоторые действия по упорядочиванию с его переменной экземпляра?