title: Operator precedence issue leads to "error: unexpected type"
body: <p>Since there have been so many operator precedence questions recently, I started playing with some code and came up with this:</p>
  
  <pre><code>int x = someNumber;
  int y = --x++;
  </code></pre>
  
  <p>This gives: </p>
  
  <pre><code>Error: unexpected type
  
  required: variable
  found: value
  </code></pre>
  
  <p>I tried this because I was interested to learn how java would deal with the fact that <code>postfix</code> has a higher operator precedence than <code>prefix</code>.   This seems like the above statement would lead to a contradiction, which I guess is handled by this error. </p>
  
  <p>My question is two-fold:</p>
  
  <ol>
  <li>Why this error?  What does it mean, exactly?</li>
  <li>Why does <code>postfix</code> have a higher precedence than <code>prefix</code>?  I'm sure there's a good reason for it, but I haven't been able to come up with one.  Perhaps it would fix this <em>undefined behavior</em>, but it would somehow give rise to more problems?</li>
  </ol>