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 type parameter bounds [T <: java.lang.Comparable[T]]
new Foo(3)
^
Является ли второе выражение результатом стирания типа?
Как я могу определить Foo, чтобы я мог параметризовать его с помощью Int, но все же быть в состоянии выполнить некоторое поведение порядка с его переменной экземпляра?