Skip to content

Commit ff03335

Browse files
committedMar 19, 2014
auto merge of #12955 : sfackler/rust/vec_ng-doc, r=alexcrichton
I also removed a couple of methods that were silly and added sort.
2 parents a39c294 + 0f2d46f commit ff03335

File tree

10 files changed

+626
-46
lines changed

10 files changed

+626
-46
lines changed
 

‎src/libnum/bigint.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ impl TotalOrd for BigUint {
117117
if s_len < o_len { return Less; }
118118
if s_len > o_len { return Greater; }
119119

120-
for (&self_i, &other_i) in self.data.rev_iter().zip(other.data.rev_iter()) {
120+
for (&self_i, &other_i) in self.data.iter().rev().zip(other.data.iter().rev()) {
121121
if self_i < other_i { return Less; }
122122
if self_i > other_i { return Greater; }
123123
}
@@ -788,7 +788,7 @@ impl BigUint {
788788

789789
let mut borrow = 0;
790790
let mut shifted_rev = Vec::with_capacity(self.data.len());
791-
for elem in self.data.rev_iter() {
791+
for elem in self.data.iter().rev() {
792792
shifted_rev.push((*elem >> n_bits) | borrow);
793793
borrow = *elem << (BigDigit::bits - n_bits);
794794
}

‎src/librustc/middle/check_match.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ fn is_useful(cx: &MatchCheckCtxt, m: &matrix, v: &[@Pat]) -> useful {
288288
is_useful_specialized(cx, m, v, vec(n), n, left_ty)
289289
}
290290
ty::ty_unboxed_vec(..) | ty::ty_vec(..) => {
291-
let max_len = m.rev_iter().fold(0, |max_len, r| {
291+
let max_len = m.iter().rev().fold(0, |max_len, r| {
292292
match r.get(0).node {
293293
PatVec(ref before, _, ref after) => {
294294
cmp::max(before.len() + after.len(), max_len)

‎src/librustc/middle/liveness.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -879,7 +879,7 @@ impl<'a> Liveness<'a> {
879879
fn propagate_through_block(&mut self, blk: &Block, succ: LiveNode)
880880
-> LiveNode {
881881
let succ = self.propagate_through_opt_expr(blk.expr, succ);
882-
blk.stmts.rev_iter().fold(succ, |succ, stmt| {
882+
blk.stmts.iter().rev().fold(succ, |succ, stmt| {
883883
self.propagate_through_stmt(*stmt, succ)
884884
})
885885
}
@@ -980,7 +980,7 @@ impl<'a> Liveness<'a> {
980980
this.ir.tcx.sess.span_bug(expr.span, "no registered caps");
981981
}
982982
};
983-
caps.deref().rev_iter().fold(succ, |succ, cap| {
983+
caps.deref().iter().rev().fold(succ, |succ, cap| {
984984
this.init_from_succ(cap.ln, succ);
985985
let var = this.variable(cap.var_nid, expr.span);
986986
this.acc(cap.ln, var, ACC_READ | ACC_USE);
@@ -1121,7 +1121,7 @@ impl<'a> Liveness<'a> {
11211121

11221122
ExprStruct(_, ref fields, with_expr) => {
11231123
let succ = self.propagate_through_opt_expr(with_expr, succ);
1124-
fields.rev_iter().fold(succ, |succ, field| {
1124+
fields.iter().rev().fold(succ, |succ, field| {
11251125
self.propagate_through_expr(field.expr, succ)
11261126
})
11271127
}
@@ -1173,14 +1173,14 @@ impl<'a> Liveness<'a> {
11731173
}
11741174

11751175
ExprInlineAsm(ref ia) => {
1176-
let succ = ia.outputs.rev_iter().fold(succ, |succ, &(_, expr)| {
1176+
let succ = ia.outputs.iter().rev().fold(succ, |succ, &(_, expr)| {
11771177
// see comment on lvalues in
11781178
// propagate_through_lvalue_components()
11791179
let succ = self.write_lvalue(expr, succ, ACC_WRITE);
11801180
self.propagate_through_lvalue_components(expr, succ)
11811181
});
11821182
// Inputs are executed first. Propagate last because of rev order
1183-
ia.inputs.rev_iter().fold(succ, |succ, &(_, expr)| {
1183+
ia.inputs.iter().rev().fold(succ, |succ, &(_, expr)| {
11841184
self.propagate_through_expr(expr, succ)
11851185
})
11861186
}

‎src/librustc/middle/resolve.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5520,7 +5520,8 @@ impl<'a> Resolver<'a> {
55205520
if idents.len() == 0 {
55215521
return ~"???";
55225522
}
5523-
return self.idents_to_str(idents.move_rev_iter()
5523+
return self.idents_to_str(idents.move_iter()
5524+
.rev()
55245525
.collect::<Vec<ast::Ident>>()
55255526
.as_slice());
55265527
}

‎src/librustc/middle/typeck/check/vtable.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,8 @@ fn lookup_vtables(vcx: &VtableContext,
9494
// We do this backwards for reasons discussed above.
9595
assert_eq!(substs.tps.len(), type_param_defs.len());
9696
let mut result: Vec<vtable_param_res> =
97-
substs.tps.rev_iter()
97+
substs.tps.iter()
98+
.rev()
9899
.zip(type_param_defs.rev_iter())
99100
.map(|(ty, def)|
100101
lookup_vtables_for_param(vcx, span, Some(substs),

‎src/libstd/vec_ng.rs

Lines changed: 608 additions & 30 deletions
Large diffs are not rendered by default.

‎src/libsyntax/ext/deriving/generic.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1158,7 +1158,7 @@ pub fn cs_fold(use_foldl: bool,
11581158
field.other.as_slice())
11591159
})
11601160
} else {
1161-
all_fields.rev_iter().fold(base, |old, field| {
1161+
all_fields.iter().rev().fold(base, |old, field| {
11621162
f(cx,
11631163
field.span,
11641164
old,
@@ -1235,7 +1235,7 @@ pub fn cs_same_method_fold(use_foldl: bool,
12351235
f(cx, span, old, new)
12361236
})
12371237
} else {
1238-
vals.rev_iter().fold(base, |old, &new| {
1238+
vals.iter().rev().fold(base, |old, &new| {
12391239
f(cx, span, old, new)
12401240
})
12411241
}

‎src/libsyntax/ext/deriving/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ pub fn expand_meta_deriving(cx: &mut ExtCtxt,
6060
cx.span_warn(mitem.span, "empty trait list in `deriving`");
6161
}
6262
MetaList(_, ref titems) => {
63-
for &titem in titems.rev_iter() {
63+
for &titem in titems.iter().rev() {
6464
match titem.node {
6565
MetaNameValue(ref tname, _) |
6666
MetaList(ref tname, _) |

‎src/libsyntax/ext/expand.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ pub fn expand_item(it: @ast::Item, fld: &mut MacroExpander)
264264
let it = expand_item_modifiers(it, fld);
265265

266266
let mut decorator_items = SmallVector::zero();
267-
for attr in it.attrs.rev_iter() {
267+
for attr in it.attrs.iter().rev() {
268268
let mname = attr.name();
269269

270270
match fld.extsbox.find(&intern(mname.get())) {

‎src/libsyntax/ext/mtwt.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ mod tests {
309309
// returning the resulting index
310310
fn unfold_test_sc(tscs : Vec<TestSC> , tail: SyntaxContext, table: &SCTable)
311311
-> SyntaxContext {
312-
tscs.rev_iter().fold(tail, |tail : SyntaxContext, tsc : &TestSC|
312+
tscs.iter().rev().fold(tail, |tail : SyntaxContext, tsc : &TestSC|
313313
{match *tsc {
314314
M(mrk) => new_mark_internal(mrk,tail,table),
315315
R(ident,name) => new_rename_internal(ident,name,tail,table)}})
@@ -355,7 +355,7 @@ mod tests {
355355
// in a vector. v[0] will be the outermost mark.
356356
fn unfold_marks(mrks: Vec<Mrk> , tail: SyntaxContext, table: &SCTable)
357357
-> SyntaxContext {
358-
mrks.rev_iter().fold(tail, |tail:SyntaxContext, mrk:&Mrk|
358+
mrks.iter().rev().fold(tail, |tail:SyntaxContext, mrk:&Mrk|
359359
{new_mark_internal(*mrk,tail,table)})
360360
}
361361

0 commit comments

Comments
 (0)
Please sign in to comment.