Почему привязка параметра типа T <: Comparable [T] не удалась для T = Int?

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)
       ^

Является ли 2-е выражение результатом стирания типа?

Как бы я решил определить Foo, чтобы я мог параметризировать его с помощью Int, но при этом иметь возможность выполнять некоторые действия по упорядочению с помощью его переменной экземпляра?

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

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