title: How can I make the memberwise initialiser public, by default, for structs in Swift?
body: <p>I have a Swift framework that defines a struct:</p>
  <pre><code>public struct CollectionTO {
      var index: Order
      var title: String
      var description: String
  }
  </code></pre>
  <p>However, I can't seem to use the implicit memberwise initialiser from another project that imports the library. The error is:</p>
  <blockquote>
  <p>'CollectionTO' cannot be initialised because it has no accessible initialisers</p>
  </blockquote>
  <p>i.e. the default synthesized memberwise initialiser is not <code>public</code>.</p>
  <pre><code>var collection1 = CollectionTO(index: 1, title: &quot;New Releases&quot;, description: &quot;All the new releases&quot;)
  </code></pre>
  <p>I'm having to add my own init method like so:</p>
  <pre><code>public struct CollectionTO {
      var index: Order
      var title: String
      var description: String
  
      public init(index: Order, title: String, description: String) {
          self.index = index;
          self.title = title;
          self.description = description;
      }
  }
  </code></pre>
  <p>... but is there a way to do this without explicitly defining a <code>public init</code>?</p>