Skip to content

Commit 05d8847

Browse files
committed
progress, unimplemented()
1 parent 73b2c0b commit 05d8847

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

src/trees.rs

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,16 @@ pub struct TreeIterator {
4545
flags: TreeFlags,
4646
}
4747

48+
impl FromIterator<NonOwningTree> for Vec<Tree> {
49+
fn from_iter<T: IntoIterator<Item = NonOwningTree>>(iter: T) -> Self {
50+
let mut out = vec![];
51+
for i in iter {
52+
unimplemented!("not yet!");
53+
}
54+
out
55+
}
56+
}
57+
4858
impl TreeIterator {
4959
// FIXME: init if fallible!
5060
fn new(treeseq: &TreeSequence) -> Self {
@@ -755,10 +765,9 @@ pub(crate) mod test_trees {
755765
// This is a safety sticking point:
756766
// we cannot collect the iterable itself b/c
757767
// the underlying tree memory is re-used.
758-
let v = treeseq
759-
.trees()
760-
.map(|t| t.as_owned()) // this is what we mean, but this is broken
761-
.collect::<Vec<NonOwningTree>>();
768+
let i = treeseq
769+
.trees();
770+
let v = Vec::<Tree>::from_iter(i);
762771
assert_eq!(v.len(), 2);
763772
}
764773

0 commit comments

Comments
 (0)