title: cannot borrow `reader` as mutable more than once at a time
body: <p><strong>Full error:</strong></p>
  <pre><code>  --&gt; src\readers.rs:10:30
     |
  5  | pub fn get_sequences(raw_sequences: &amp;str) -&gt; Result&lt;Vec&lt;Cow&lt;[u8]&gt;&gt;, Error&gt; {
     |                                     - let's call the lifetime of this reference `'1`
  ...
  10 |     while let Some(result) = reader.next() {
     |                              ^^^^^^ `reader` was mutably borrowed here in the previous iteration of the loop
  ...
  15 |     Ok(sequences)
     |     ------------- returning this value requires that `reader` is borrowed for `'1`
  </code></pre>
  <p><strong>Code:</strong></p>
  <pre><code>pub fn get_sequences(raw_sequences: &amp;str) -&gt; Result&lt;Vec&lt;Cow&lt;[u8]&gt;&gt;, Error&gt; {
      let bytes = raw_sequences.as_bytes();
      let mut reader = Reader::new(BufReader::new(bytes));
      let mut sequences: Vec&lt;Cow&lt;[u8]&gt;&gt; = vec![];
  
      while let Some(result) = reader.next() {
          let record = result?;
          sequences.push(record.full_seq());
      }
  
      Ok(sequences)
  }
  </code></pre>
  <p>I'm using the SeqIO crate (<a href="https://github.com/markschl/seq_io/tree/v0.3" rel="nofollow noreferrer">https://github.com/markschl/seq_io/tree/v0.3</a>)</p>
  <p>Honestly not sure how to fix this. Any help would be appreciated</p>