title: Difference between this and self in self-type annotations?
body: <p>In various Scala literature I see some self-type annotations using "this" and others using "self":</p>
  
  <pre><code>trait A { this: B =&gt; ... }
  trait A { self: B =&gt; ... }
  </code></pre>
  
  <p>Is there any real difference between using "this" or "self"?  Does it matter at all what name you use?  Is this just as valid?</p>
  
  <pre><code>trait A { foo: B =&gt; ... }
  </code></pre>