@@ -73,12 +73,12 @@ impl IteratorOutput {
7373 where
7474 T : TableIteration ,
7575 {
76- let edges = iterator. edges ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
77- let nodes = iterator. nodes ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
78- let sites = iterator. sites ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
79- let mutations = iterator. mutations ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
80- let populations = iterator. populations ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
81- let migrations = iterator. migrations ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
76+ let edges = iterator. edges_iter ( ) . collect :: < Vec < _ > > ( ) ;
77+ let nodes = iterator. nodes_iter ( ) . collect :: < Vec < _ > > ( ) ;
78+ let sites = iterator. sites_iter ( ) . collect :: < Vec < _ > > ( ) ;
79+ let mutations = iterator. mutations_iter ( ) . collect :: < Vec < _ > > ( ) ;
80+ let populations = iterator. populations_iter ( ) . collect :: < Vec < _ > > ( ) ;
81+ let migrations = iterator. migrations_iter ( ) . collect :: < Vec < _ > > ( ) ;
8282 Self {
8383 edges,
8484 nodes,
@@ -90,12 +90,13 @@ impl IteratorOutput {
9090 }
9191
9292 fn new_from_dyn ( dynamic : & dyn tskit:: ObjectSafeTableIteration ) -> Self {
93- let edges = dynamic. edges ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
94- let nodes = dynamic. nodes ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
95- let sites = dynamic. sites ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
96- let mutations = dynamic. mutations ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
97- let populations = dynamic. populations ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
98- let migrations = dynamic. migrations ( ) . iter ( ) . collect :: < Vec < _ > > ( ) ;
93+ let edges_iter: Box < dyn Iterator < Item = tskit:: EdgeTableRow > + ' _ > = dynamic. edges_iter ( ) ;
94+ let edges = edges_iter. collect :: < Vec < _ > > ( ) ;
95+ let nodes = dynamic. nodes_iter ( ) . collect :: < Vec < _ > > ( ) ;
96+ let sites = dynamic. sites_iter ( ) . collect :: < Vec < _ > > ( ) ;
97+ let mutations = dynamic. mutations_iter ( ) . collect :: < Vec < _ > > ( ) ;
98+ let populations = dynamic. populations_iter ( ) . collect :: < Vec < _ > > ( ) ;
99+ let migrations = dynamic. migrations_iter ( ) . collect :: < Vec < _ > > ( ) ;
99100 Self {
100101 edges,
101102 nodes,
0 commit comments