title: Why does the type parameter bound T <: Comparable[T] fail for T = Int?
body: <pre><code>scala&gt; class Foo[T &lt;: Comparable[T]](val x : T)
  defined class Foo
  
  scala&gt; (3: Int).asInstanceOf[Comparable[Int]]  
  res60: java.lang.Comparable[Int] = 3
  
  scala&gt; new Foo(3)                              
  &lt;console&gt;:13: error: inferred type arguments [Int] do not conform to class Foo's type parameter bounds [T &lt;: java.lang.Comparable[T]]
         new Foo(3)
         ^
  </code></pre>
  
  <p>Is the 2nd expression the result of type erasure?</p>
  
  <p>How would I go about defining Foo so that I could parameterize it with Int but still be able to perform some ordering behavior with its instance variable?</p>