Skip to content

Commit b8cdbd4

Browse files
committed
---
yaml --- r: 79310 b: refs/heads/try c: 9298af7 h: refs/heads/master v: v3
1 parent 9334bfa commit b8cdbd4

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
@@ -2,7 +2,7 @@
22
refs/heads/master: 3e6de6b7da8ee88bf84b0e217900051334be08da
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 60fba4d7d677ec098e6a43014132fe99f7547363
5-
refs/heads/try: 25ed29a0edb3d48fef843a0b818ee68faf2252da
5+
refs/heads/try: 9298af7e05b5eea00fff5c4dc4b55931a6f7c433
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/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)