title: Why would parentheses around "0x1000 - 1" cause a compile-time error?
body: <p>I have this Swift code that compiles just fine:</p>
  
  <pre><code>let someArray = Array(count: 45, repeatedValue: 0)
  let a: UIntMax = 0x00010000
  let b = a + someArray.count
  let c = (b + 0x1000 - 1) / 0x1000
  println("\(someArray.count == c), \(c)")
  </code></pre>
  
  <p>However, I figured that overflows would be just slightly less likely if I made sure that the <code>- 1</code> is applied to <code>0x1000</code> before being added to <code>b</code> (on line 4), so I wanted to change it to:</p>
  
  <pre><code>let c = (b + (0x1000 - 1)) / 0x1000
  </code></pre>
  
  <p>Surprisingly, the snippet doesn't compile anymore. I get this error on the <code>println</code> line:</p>
  
  <blockquote>
    <p>Could not find member <code>convertFromStringInterpolationSegment</code></p>
  </blockquote>
  
  <p>What happened? Why would my parenthesized expression act any differently than my unparenthesized one, and why does it have an impact?</p>