diff --git a/src/nouveau/compiler/nak/liveness.rs b/src/nouveau/compiler/nak/liveness.rs index 21cceadebc4..4a37ff2c7c7 100644 --- a/src/nouveau/compiler/nak/liveness.rs +++ b/src/nouveau/compiler/nak/liveness.rs @@ -108,6 +108,8 @@ impl LiveSet { impl FromIterator for LiveSet { fn from_iter>(iter: T) -> Self { let mut set = LiveSet::new(); + let iter = iter.into_iter(); + set.set.reserve(iter.size_hint().0); for ssa in iter { set.insert(ssa); } @@ -117,6 +119,8 @@ impl FromIterator for LiveSet { impl Extend for LiveSet { fn extend>(&mut self, iter: T) { + let iter = iter.into_iter(); + self.set.reserve(iter.size_hint().0); for ssa in iter { self.insert(ssa); }