title: Why is a single underscore character an illegal name for a lambda parameter?
body: <p>I tried naming a lambda parameter <code>_</code>, e.g. (a cut down version):</p>
  
  <pre><code>Consumer&lt;Object&gt; c = _ -&gt; {};
  </code></pre>
  
  <p>as I wanted to signify that a parameter was being ignored, but I got the following compiler error:</p>
  
  <blockquote>
    <p>use of '_' as an identifier is forbidden for lambda parameters</p>
  </blockquote>
  
  <p>This was a surprise for me. Interestingly, <em>two</em> underscores is OK:</p>
  
  <pre><code>Consumer&lt;Object&gt; c = __ -&gt; {}; // no compile error
  </code></pre>
  
  <p>So it's not the underscore character in general, but a single one.</p>
  
  <p>Why is the single-underscore name specifically forbidden?</p>