title: What is the fully-qualified type name of the value returned by put_back?
body: <p>I am trying to create a struct that will hold an iterator returned by <code>itertools::put_back</code>. I do not know the type name to use for the struct member.</p>
  
  <p>Here is how I obtain the iterator over a <code>String</code>:</p>
  
  <pre class="lang-rust prettyprint-override"><code>use itertools::put_back; // 0.8.0
  
  fn main() {
      let hello = "Hello world".to_owned();
      let hello_iter = hello.chars();
      let mut putback_iterator = put_back(hello_iter);
  }
  </code></pre>
  
  <p>Here is the struct definition:</p>
  
  <pre class="lang-rust prettyprint-override"><code>pub struct ParserEventIterator {
      char_iter: itertools::PutBack&lt;/* What DO I PUT HERE??? */&gt;,
  }
  </code></pre>
  
  <p>What is the type for <code>putback_iterator</code> in this case? I've tried:</p>
  
  <pre><code>itertools::PutBack&lt;&lt;std::string::String as Trait&gt;::IntoIter&gt;
  </code></pre>