title: Swift initializing lazy value
body: <p>I have class </p>
  
  <pre><code>struct Word {
    let text : String
    let added: Date
    let willShow: Date
    let folder: Phase
    let bestTranslation: String
    let translationsProvider: ()-&gt;[String]
    lazy var allTranslations : [String] = {self.translationsProvider()}()
  }
  </code></pre>
  
  <p>and initializer</p>
  
  <pre><code>extension Word {
      init(_ definition: Definition, context translationProvider: 
                                                 @escaping ()-&gt;[String]){
      self.text = definition.text!
      self.added = definition.added!
      self.willShow = definition.willShow!
      self.folder = Phase(rawValue: definition.folder)!
      self.bestTranslation = definition.best?.text ?? ""
      self.translationsProvider = translationProvider
      }
  }
  </code></pre>
  
  <p>I'm getting error</p>
  
  <blockquote>
    <p>Return from initializer without initializing all stored properties</p>
  </blockquote>
  
  <p>with description </p>
  
  <blockquote>
    <ol>
    <li>'self.allTranslations.storage' not initialized</li>
    </ol>
  </blockquote>
  
  <p>How can I fix that?</p>