title: scala class constructors and abstract types
body: <p>I want to use an abstract type rather than a type parameter.</p>
  
  <p>In my generic classes constructor, I want to have a parameter of the generic type, but the code doesn't compile:</p>
  
  <pre><code>class SomeOtherClass(val s: S){
      type S
  }
  </code></pre>
  
  <p>The scala compiler error is "not found: type S"</p>
  
  <p>If I use a type parameter instead of an abstract type, then it works:</p>
  
  <pre><code>class SomeClass[T](val t: T){
      //...
  }
  </code></pre>
  
  <p>Does scala force me to use a type parameter rather than an abstract type, if I want to have a generic parameter in the constructor?</p>
  
  <p>Is there another way to do this?</p>