Skip to content

Commit 0d2a11d

Browse files
committed
---
yaml --- r: 79437 b: refs/heads/snap-stage3 c: 9298af7 h: refs/heads/master i: 79435: c09e531 v: v3
1 parent c624ffa commit 0d2a11d

File tree

2 files changed

+22
-23
lines changed

2 files changed

+22
-23
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: 124eb2119c78651cfaaa7a046a101fa2e20f83ca
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: 25ed29a0edb3d48fef843a0b818ee68faf2252da
4+
refs/heads/snap-stage3: 9298af7e05b5eea00fff5c4dc4b55931a6f7c433
55
refs/heads/try: ac820906c0e53eab79a98ee64f7231f57c3887b4
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/src/libstd/vec.rs

Lines changed: 21 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1201,8 +1201,6 @@ pub trait OwnedVector<T> {
12011201
fn shrink_to_fit(&mut self);
12021202

12031203
fn push(&mut self, t: T);
1204-
unsafe fn push_fast(&mut self, t: T);
1205-
12061204
fn push_all_move(&mut self, rhs: ~[T]);
12071205
fn pop(&mut self) -> T;
12081206
fn pop_opt(&mut self) -> Option<T>;
@@ -1334,7 +1332,7 @@ impl<T> OwnedVector<T> for ~[T] {
13341332
self.reserve_at_least(new_len);
13351333
}
13361334

1337-
self.push_fast(t);
1335+
push_fast(self, t);
13381336
} else {
13391337
let repr: **Vec<()> = cast::transmute(&mut *self);
13401338
let fill = (**repr).fill;
@@ -1343,29 +1341,30 @@ impl<T> OwnedVector<T> for ~[T] {
13431341
self.reserve_at_least(new_len);
13441342
}
13451343

1346-
self.push_fast(t);
1344+
push_fast(self, t);
13471345
}
13481346
}
1349-
}
13501347

1351-
// This doesn't bother to make sure we have space.
1352-
#[inline] // really pretty please
1353-
unsafe fn push_fast(&mut self, t: T) {
1354-
if contains_managed::<T>() {
1355-
let repr: **mut Box<Vec<u8>> = cast::transmute(self);
1356-
let fill = (**repr).data.fill;
1357-
(**repr).data.fill += sys::nonzero_size_of::<T>();
1358-
let p = to_unsafe_ptr(&((**repr).data.data));
1359-
let p = ptr::offset(p, fill as int) as *mut T;
1360-
intrinsics::move_val_init(&mut(*p), t);
1361-
} else {
1362-
let repr: **mut Vec<u8> = cast::transmute(self);
1363-
let fill = (**repr).fill;
1364-
(**repr).fill += sys::nonzero_size_of::<T>();
1365-
let p = to_unsafe_ptr(&((**repr).data));
1366-
let p = ptr::offset(p, fill as int) as *mut T;
1367-
intrinsics::move_val_init(&mut(*p), t);
1348+
// This doesn't bother to make sure we have space.
1349+
#[inline] // really pretty please
1350+
unsafe fn push_fast<T>(this: &mut ~[T], t: T) {
1351+
if contains_managed::<T>() {
1352+
let repr: **mut Box<Vec<u8>> = cast::transmute(this);
1353+
let fill = (**repr).data.fill;
1354+
(**repr).data.fill += sys::nonzero_size_of::<T>();
1355+
let p = to_unsafe_ptr(&((**repr).data.data));
1356+
let p = ptr::offset(p, fill as int) as *mut T;
1357+
intrinsics::move_val_init(&mut(*p), t);
1358+
} else {
1359+
let repr: **mut Vec<u8> = cast::transmute(this);
1360+
let fill = (**repr).fill;
1361+
(**repr).fill += sys::nonzero_size_of::<T>();
1362+
let p = to_unsafe_ptr(&((**repr).data));
1363+
let p = ptr::offset(p, fill as int) as *mut T;
1364+
intrinsics::move_val_init(&mut(*p), t);
1365+
}
13681366
}
1367+
13691368
}
13701369

13711370
/// Takes ownership of the vector `rhs`, moving all elements into

0 commit comments

Comments
 (0)