title: Variable 'xxx' was never mutated, consider changing to 'let'
body: <p><strong>Updated to xcode7-beta</strong> I run across a new kind of warning. Here is my code</p>
  
  <pre><code>override func layoutAttributesForElementsInRect(rect: CGRect) -&gt; [UICollectionViewLayoutAttributes]? {
      var attributes: [UICollectionViewLayoutAttributes]? = super.layoutAttributesForElementsInRect(rect)
      if let layoutInfo = self.layoutInfo {
          attributes?.append(layoutInfo)
      }
      return attributes
  }
  </code></pre>
  
  <p>the warning message is 
  <code>Variable 'attributes' was never mutated, consider changing to 'let' constant</code></p>
  
  <p>Why does xcode say <code>Variable 'attributes' was never mutated</code>?</p>
  
  <p><strong>Question Update</strong></p>
  
  <p>the warning is gone when I change my code to this</p>
  
  <pre><code>override func layoutAttributesForElementsInRect(rect: CGRect) -&gt; [UICollectionViewLayoutAttributes]? {
      var attributes: [UICollectionViewLayoutAttributes]? = super.layoutAttributesForElementsInRect(rect)
      if let layoutInfo = self.layoutInfo {
          attributes!.append(layoutInfo)
      }
      return attributes
  }
  </code></pre>
  
  <p>so forced unwrapping can take it away. But it might not be a good thing right?</p>