title: Initialize a field of a struct using another field of the same struct
body: <p>Below I have a struct <code>SplitByChars</code>. </p>
  
  <pre><code>struct SplitByChars&lt;'a&gt; {
      seperator: &amp;'a Seperator,
      string: String,
      chars_iter: std::str::Chars&lt;'a&gt;,
  }
  
  impl&lt;'a&gt; SplitByChars&lt;'a&gt; {
      fn new&lt;S&gt;(seperator: &amp;'a Seperator, string: S) -&gt; SplitByChars where S: Into&lt;String&gt; {
          SplitByChars {
              seperator: seperator,
              string: string.into(),
              chars_iter: self.string.chars(), // ERROR: I cannot use self here!
          }
      }
  }
  </code></pre>
  
  <p>I am trying to implement a <code>new</code> static function for it. In particular, I would like to return a <code>SplitByChars</code> instance whose <code>chars_iter</code> field is initialized using the previously initialized <code>string</code> field of the same instance. To do that, I am currently trying to access the same field using <code>self.string</code>, but I am getting an error.</p>
  
  <p>How can I do it?</p>