Skip to content

Commit cede440

Browse files
committed
---
yaml --- r: 32142 b: refs/heads/dist-snap c: c87e9a5 h: refs/heads/master v: v3
1 parent 68c275a commit cede440

File tree

3 files changed

+5
-17
lines changed

3 files changed

+5
-17
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: d0c6ce338884ee21843f4b40bf6bf18d222ce5df
99
refs/heads/incoming: d9317a174e434d4c99fc1a37fd7dc0d2f5328d37
10-
refs/heads/dist-snap: b2aeb314519f69bc949327123d2f6ec4dcd0b9ec
10+
refs/heads/dist-snap: c87e9a5815ba4084ca2419eb39786b9bf6d45319
1111
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1212
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/dist-snap/src/libcore/at_vec.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,14 +52,8 @@ pure fn capacity<T>(&&v: @[const T]) -> uint {
5252
#[inline(always)]
5353
pure fn build_sized<A>(size: uint, builder: fn(push: pure fn(+A))) -> @[A] {
5454
let mut vec = @[];
55-
unsafe {
56-
unsafe::reserve(vec, size);
57-
// This is an awful hack to be able to make the push function
58-
// pure. Is there a better way?
59-
::unsafe::reinterpret_cast::
60-
<fn(push: pure fn(+A)), fn(push: fn(+A))>
61-
(builder)(|+x| unsafe::push(vec, x));
62-
}
55+
unsafe { unsafe::reserve(vec, size); }
56+
builder(|+x| unsafe { unsafe::push(vec, x) });
6357
return vec;
6458
}
6559

branches/dist-snap/src/libcore/vec.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -234,14 +234,8 @@ pure fn from_slice<T: copy>(t: &[T]) -> ~[T] {
234234
#[inline(always)]
235235
pure fn build_sized<A>(size: uint, builder: fn(push: pure fn(+A))) -> ~[A] {
236236
let mut vec = ~[];
237-
unsafe {
238-
reserve(vec, size);
239-
// This is an awful hack to be able to make the push function
240-
// pure. Is there a better way?
241-
::unsafe::reinterpret_cast::
242-
<fn(push: pure fn(+A)), fn(push: fn(+A))>
243-
(builder)(|+x| push(vec, x));
244-
}
237+
unchecked { reserve(vec, size); }
238+
builder(|+x| unchecked { push(vec, x) });
245239
return vec;
246240
}
247241

0 commit comments

Comments
 (0)