Skip to content

Commit 879475c

Browse files
committed
---
yaml --- r: 227823 b: refs/heads/try c: 688b623 h: refs/heads/master i: 227821: b9ee359 227819: b398e1b 227815: 1c0ddf9 227807: 7c5a9da v: v3
1 parent 9b6a95a commit 879475c

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: aca2057ed5fb7af3f8905b2bc01f72fa001c35c8
33
refs/heads/snap-stage3: 1af31d4974e33027a68126fa5a5a3c2c6491824f
4-
refs/heads/try: 32b7b50bafd0d40fda1caa93cf7f7068cc5052e3
4+
refs/heads/try: 688b62382c3eeeb0086eb4ada8ad25b08883960e
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
66
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
77
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try/src/libcollections/vec.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1482,7 +1482,7 @@ impl<T> FromIterator<T> for Vec<T> {
14821482
None => return Vec::new(),
14831483
Some(element) => {
14841484
let (lower, _) = iterator.size_hint();
1485-
let mut vector = Vec::with_capacity(1 + lower);
1485+
let mut vector = Vec::with_capacity(lower.saturating_add(1));
14861486
unsafe {
14871487
ptr::write(vector.get_unchecked_mut(0), element);
14881488
vector.set_len(1);
@@ -1570,10 +1570,11 @@ impl<T> Vec<T> {
15701570
let len = self.len();
15711571
if len == self.capacity() {
15721572
let (lower, _) = iterator.size_hint();
1573-
self.reserve(lower + 1);
1573+
self.reserve(lower.saturating_add(1));
15741574
}
15751575
unsafe {
15761576
ptr::write(self.get_unchecked_mut(len), element);
1577+
// NB can't overflow since we would have had to alloc the address space
15771578
self.set_len(len + 1);
15781579
}
15791580
}

0 commit comments

Comments
 (0)