title: Swift extension on RawRepresentable has no accessible initializer
body: <p>I'm trying to create an extension for my FieldIdentifiable protocol only where the enum that implements it has a RawValue of Int. The only problem is that the <code>return FieldIdItem(rawValue: newValue)</code> line keeps showing this error:</p>
  
  <pre><code>'Self.FieldIdItem' cannot be constructed because it has no accessible initializers
  </code></pre>
  
  <p>Is this a Swift bug or am I missing something?</p>
  
  <pre><code>enum SignUpField: Int, FieldIdentifiable {
    case Email = 0, Password, Username
  
    typealias FieldIdItem = SignUpField
  }
  
  protocol FieldIdentifiable {
    typealias FieldIdItem
  
    func next() -&gt; FieldIdItem?
    func previous() -&gt; FieldIdItem?
  }
  
  extension FieldIdentifiable where Self: RawRepresentable, Self.RawValue == Int {
  
    func next() -&gt; FieldIdItem? {
      let newValue: Int = self.rawValue+1
      return FieldIdItem(rawValue: newValue)
    }
  
    func previous() -&gt; FieldIdItem? {
      return FieldIdItem(rawValue: self.rawValue-1)
    }
  }
  </code></pre>