Skip to content

Commit 28d52c6

Browse files
committed
---
yaml --- r: 149811 b: refs/heads/try2 c: f978c77 h: refs/heads/master i: 149809: 311e395 149807: 205e930 v: v3
1 parent 3036acb commit 28d52c6

File tree

2 files changed

+10
-12
lines changed

2 files changed

+10
-12
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
55
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8-
refs/heads/try2: 15d9acc46cafba48e0c85b3d02c09d7b91ec98e9
8+
refs/heads/try2: f978c772ba99955fe8c315963768b603bb8efd41
99
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
1010
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
1111
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503

branches/try2/src/libstd/vec_ng.rs

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@
1414
use cast::{forget, transmute};
1515
use clone::Clone;
1616
use cmp::{Ord, Eq, Ordering, TotalEq, TotalOrd};
17-
use container::Container;
17+
use container::{Container, Mutable};
1818
use default::Default;
1919
use fmt;
20-
use iter::{DoubleEndedIterator, FromIterator, Extendable, Iterator};
20+
use iter::{DoubleEndedIterator, FromIterator, Extendable, Iterator, Rev};
2121
use libc::{free, c_void};
2222
use mem::{size_of, move_val_init};
2323
use mem;
@@ -68,11 +68,7 @@ impl<T> Vec<T> {
6868

6969
impl<T: Clone> Vec<T> {
7070
pub fn from_slice(values: &[T]) -> Vec<T> {
71-
let mut vector = Vec::new();
72-
for value in values.iter() {
73-
vector.push((*value).clone())
74-
}
75-
vector
71+
values.iter().map(|x| x.clone()).collect()
7672
}
7773

7874
pub fn from_elem(length: uint, value: T) -> Vec<T> {
@@ -292,9 +288,8 @@ impl<T> Vec<T> {
292288
}
293289

294290
#[inline]
295-
pub fn move_rev_iter(mut self) -> MoveItems<T> {
296-
self.reverse();
297-
self.move_iter()
291+
pub fn move_rev_iter(self) -> Rev<MoveItems<T>> {
292+
self.move_iter().rev()
298293
}
299294

300295
#[inline]
@@ -437,9 +432,12 @@ impl<T> Vec<T> {
437432
pub fn as_ptr(&self) -> *T {
438433
self.as_slice().as_ptr()
439434
}
435+
}
440436

437+
impl<T> Mutable for Vec<T> {
438+
/// Clear the vector, removing all values.
441439
#[inline]
442-
pub fn clear(&mut self) {
440+
fn clear(&mut self) {
443441
self.truncate(0)
444442
}
445443
}

0 commit comments

Comments
 (0)