title: "fatal error: array cannot be bridged from Objective-C"—Why are you even trying, Swift?
body: <p>I have declared a Swift protocol:</p>
  
  <pre><code>protocol Option {
      var name: String { get }
  }
  </code></pre>
  
  <p>I declare multiple implementations of this protocol—some classes, some enums.</p>
  
  <p>I have a view controller with a property declared as so:</p>
  
  <pre><code>var options: [Option] = []
  </code></pre>
  
  <p>When I try and set this property to an array of objects that implement the <code>Option</code> protocol in another VC's <code>prepareForSegue</code>, I get a runtime error:</p>
  
  <pre><code>fatal error: array cannot be bridged from Objective-C
  </code></pre>
  
  <p>Why doesn't this work? The compiler has all the information it needs, and I don't understand what Objective-C has to do with it at all—my project contains only Swift files, and these arrays aren't coming in or out of any framework methods that would necessitate them being bridged to <code>NSArray</code>.</p>