Skip to content

Commit c210724

Browse files
committed
Make some slice coercions explicit - part 3
1 parent 0e2f9b9 commit c210724

File tree

104 files changed

+773
-787
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

104 files changed

+773
-787
lines changed

src/librustc/middle/cfg/construct.rs

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -73,19 +73,19 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
7373

7474
let expr_exit = self.opt_expr(&blk.expr, stmts_exit);
7575

76-
self.add_node(blk.id, [expr_exit])
76+
self.add_node(blk.id, &[expr_exit])
7777
}
7878

7979
fn stmt(&mut self, stmt: &ast::Stmt, pred: CFGIndex) -> CFGIndex {
8080
match stmt.node {
8181
ast::StmtDecl(ref decl, id) => {
8282
let exit = self.decl(&**decl, pred);
83-
self.add_node(id, [exit])
83+
self.add_node(id, &[exit])
8484
}
8585

8686
ast::StmtExpr(ref expr, id) | ast::StmtSemi(ref expr, id) => {
8787
let exit = self.expr(&**expr, pred);
88-
self.add_node(id, [exit])
88+
self.add_node(id, &[exit])
8989
}
9090

9191
ast::StmtMac(..) => {
@@ -114,33 +114,33 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
114114
ast::PatLit(..) |
115115
ast::PatRange(..) |
116116
ast::PatWild(_) => {
117-
self.add_node(pat.id, [pred])
117+
self.add_node(pat.id, &[pred])
118118
}
119119

120120
ast::PatBox(ref subpat) |
121121
ast::PatRegion(ref subpat) |
122122
ast::PatIdent(_, _, Some(ref subpat)) => {
123123
let subpat_exit = self.pat(&**subpat, pred);
124-
self.add_node(pat.id, [subpat_exit])
124+
self.add_node(pat.id, &[subpat_exit])
125125
}
126126

127127
ast::PatEnum(_, Some(ref subpats)) |
128128
ast::PatTup(ref subpats) => {
129129
let pats_exit = self.pats_all(subpats.iter(), pred);
130-
self.add_node(pat.id, [pats_exit])
130+
self.add_node(pat.id, &[pats_exit])
131131
}
132132

133133
ast::PatStruct(_, ref subpats, _) => {
134134
let pats_exit =
135135
self.pats_all(subpats.iter().map(|f| &f.node.pat), pred);
136-
self.add_node(pat.id, [pats_exit])
136+
self.add_node(pat.id, &[pats_exit])
137137
}
138138

139139
ast::PatVec(ref pre, ref vec, ref post) => {
140140
let pre_exit = self.pats_all(pre.iter(), pred);
141141
let vec_exit = self.pats_all(vec.iter(), pre_exit);
142142
let post_exit = self.pats_all(post.iter(), vec_exit);
143-
self.add_node(pat.id, [post_exit])
143+
self.add_node(pat.id, &[post_exit])
144144
}
145145

146146
ast::PatMac(_) => {
@@ -165,7 +165,7 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
165165
if pats.len() == 1 {
166166
self.pat(&*pats[0], pred)
167167
} else {
168-
let collect = self.add_dummy_node([]);
168+
let collect = self.add_dummy_node(&[]);
169169
for pat in pats.iter() {
170170
let pat_exit = self.pat(&**pat, pred);
171171
self.add_contained_edge(pat_exit, collect);
@@ -178,7 +178,7 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
178178
match expr.node {
179179
ast::ExprBlock(ref blk) => {
180180
let blk_exit = self.block(&**blk, pred);
181-
self.add_node(expr.id, [blk_exit])
181+
self.add_node(expr.id, &[blk_exit])
182182
}
183183

184184
ast::ExprIf(ref cond, ref then, None) => {
@@ -198,7 +198,7 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
198198
//
199199
let cond_exit = self.expr(&**cond, pred); // 1
200200
let then_exit = self.block(&**then, cond_exit); // 2
201-
self.add_node(expr.id, [cond_exit, then_exit]) // 3,4
201+
self.add_node(expr.id, &[cond_exit, then_exit]) // 3,4
202202
}
203203

204204
ast::ExprIf(ref cond, ref then, Some(ref otherwise)) => {
@@ -219,7 +219,7 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
219219
let cond_exit = self.expr(&**cond, pred); // 1
220220
let then_exit = self.block(&**then, cond_exit); // 2
221221
let else_exit = self.expr(&**otherwise, cond_exit); // 3
222-
self.add_node(expr.id, [then_exit, else_exit]) // 4, 5
222+
self.add_node(expr.id, &[then_exit, else_exit]) // 4, 5
223223
}
224224

225225
ast::ExprIfLet(..) => {
@@ -245,9 +245,9 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
245245
// may cause additional edges.
246246

247247
// Is the condition considered part of the loop?
248-
let loopback = self.add_dummy_node([pred]); // 1
249-
let cond_exit = self.expr(&**cond, loopback); // 2
250-
let expr_exit = self.add_node(expr.id, [cond_exit]); // 3
248+
let loopback = self.add_dummy_node(&[pred]); // 1
249+
let cond_exit = self.expr(&**cond, loopback); // 2
250+
let expr_exit = self.add_node(expr.id, &[cond_exit]); // 3
251251
self.loop_scopes.push(LoopScope {
252252
loop_id: expr.id,
253253
continue_index: loopback,
@@ -286,10 +286,10 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
286286
// Note that `break` and `continue` statements
287287
// may cause additional edges.
288288

289-
let head = self.expr(&**head, pred); // 1
290-
let loopback = self.add_dummy_node([head]); // 2
291-
let cond = self.add_dummy_node([loopback]); // 3
292-
let expr_exit = self.add_node(expr.id, [cond]); // 4
289+
let head = self.expr(&**head, pred); // 1
290+
let loopback = self.add_dummy_node(&[head]); // 2
291+
let cond = self.add_dummy_node(&[loopback]); // 3
292+
let expr_exit = self.add_node(expr.id, &[cond]); // 4
293293
self.loop_scopes.push(LoopScope {
294294
loop_id: expr.id,
295295
continue_index: loopback,
@@ -317,8 +317,8 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
317317
// Note that `break` and `loop` statements
318318
// may cause additional edges.
319319

320-
let loopback = self.add_dummy_node([pred]); // 1
321-
let expr_exit = self.add_node(expr.id, []); // 2
320+
let loopback = self.add_dummy_node(&[pred]); // 1
321+
let expr_exit = self.add_node(expr.id, &[]); // 2
322322
self.loop_scopes.push(LoopScope {
323323
loop_id: expr.id,
324324
continue_index: loopback,
@@ -358,10 +358,10 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
358358
//
359359
let discr_exit = self.expr(&**discr, pred); // 1
360360

361-
let expr_exit = self.add_node(expr.id, []);
361+
let expr_exit = self.add_node(expr.id, &[]);
362362
let mut cond_exit = discr_exit;
363363
for arm in arms.iter() {
364-
cond_exit = self.add_dummy_node([cond_exit]); // 2
364+
cond_exit = self.add_dummy_node(&[cond_exit]); // 2
365365
let pats_exit = self.pats_any(arm.pats.as_slice(),
366366
cond_exit); // 3
367367
let guard_exit = self.opt_expr(&arm.guard,
@@ -389,30 +389,30 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
389389
//
390390
let l_exit = self.expr(&**l, pred); // 1
391391
let r_exit = self.expr(&**r, l_exit); // 2
392-
self.add_node(expr.id, [l_exit, r_exit]) // 3,4
392+
self.add_node(expr.id, &[l_exit, r_exit]) // 3,4
393393
}
394394

395395
ast::ExprRet(ref v) => {
396396
let v_exit = self.opt_expr(v, pred);
397-
let b = self.add_node(expr.id, [v_exit]);
397+
let b = self.add_node(expr.id, &[v_exit]);
398398
self.add_returning_edge(expr, b);
399-
self.add_node(ast::DUMMY_NODE_ID, [])
399+
self.add_node(ast::DUMMY_NODE_ID, &[])
400400
}
401401

402402
ast::ExprBreak(label) => {
403403
let loop_scope = self.find_scope(expr, label);
404-
let b = self.add_node(expr.id, [pred]);
404+
let b = self.add_node(expr.id, &[pred]);
405405
self.add_exiting_edge(expr, b,
406406
loop_scope, loop_scope.break_index);
407-
self.add_node(ast::DUMMY_NODE_ID, [])
407+
self.add_node(ast::DUMMY_NODE_ID, &[])
408408
}
409409

410410
ast::ExprAgain(label) => {
411411
let loop_scope = self.find_scope(expr, label);
412-
let a = self.add_node(expr.id, [pred]);
412+
let a = self.add_node(expr.id, &[pred]);
413413
self.add_exiting_edge(expr, a,
414414
loop_scope, loop_scope.continue_index);
415-
self.add_node(ast::DUMMY_NODE_ID, [])
415+
self.add_node(ast::DUMMY_NODE_ID, &[])
416416
}
417417

418418
ast::ExprVec(ref elems) => {
@@ -492,7 +492,7 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
492492
let &(_, ref expr, _) = a;
493493
&**expr
494494
}), post_inputs);
495-
self.add_node(expr.id, [post_outputs])
495+
self.add_node(expr.id, &[post_outputs])
496496
}
497497

498498
ast::ExprMac(..) |
@@ -520,7 +520,7 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
520520
let func_or_rcvr_exit = self.expr(func_or_rcvr, pred);
521521
let ret = self.straightline(call_expr, func_or_rcvr_exit, args);
522522
if return_ty == ty::FnDiverging {
523-
self.add_node(ast::DUMMY_NODE_ID, [])
523+
self.add_node(ast::DUMMY_NODE_ID, &[])
524524
} else {
525525
ret
526526
}
@@ -547,7 +547,7 @@ impl<'a, 'tcx> CFGBuilder<'a, 'tcx> {
547547
//! Handles case of an expression that evaluates `subexprs` in order
548548
549549
let subexprs_exit = self.exprs(subexprs, pred);
550-
self.add_node(expr.id, [subexprs_exit])
550+
self.add_node(expr.id, &[subexprs_exit])
551551
}
552552

553553
fn add_dummy_node(&mut self, preds: &[CFGIndex]) -> CFGIndex {

src/librustc/middle/cfg/graphviz.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ fn replace_newline_with_backslash_l(s: String) -> String {
4040
let mut last_two: Vec<_> =
4141
s.as_slice().chars().rev().take(2).collect();
4242
last_two.reverse();
43-
if last_two.as_slice() != ['\\', 'l'] {
43+
if last_two.as_slice() != &['\\', 'l'] {
4444
s.push_str("\\l");
4545
}
4646
s

src/librustc/middle/check_match.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -935,7 +935,7 @@ fn check_fn(cx: &mut MatchCheckCtxt,
935935

936936
fn is_refutable<A>(cx: &MatchCheckCtxt, pat: &Pat, refutable: |&Pat| -> A) -> Option<A> {
937937
let pats = Matrix(vec!(vec!(pat)));
938-
match is_useful(cx, &pats, [DUMMY_WILD_PAT], ConstructWitness) {
938+
match is_useful(cx, &pats, &[DUMMY_WILD_PAT], ConstructWitness) {
939939
UsefulWithWitness(pats) => {
940940
assert_eq!(pats.len(), 1);
941941
Some(refutable(&*pats[0]))

src/librustc/middle/graph.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -419,31 +419,31 @@ mod test {
419419
fn each_adjacent_from_a() {
420420
let graph = create_graph();
421421
test_adjacent_edges(&graph, NodeIndex(0), "A",
422-
[],
423-
[("AB", "B")]);
422+
&[],
423+
&[("AB", "B")]);
424424
}
425425

426426
#[test]
427427
fn each_adjacent_from_b() {
428428
let graph = create_graph();
429429
test_adjacent_edges(&graph, NodeIndex(1), "B",
430-
[("FB", "F"), ("AB", "A"),],
431-
[("BD", "D"), ("BC", "C"),]);
430+
&[("FB", "F"), ("AB", "A"),],
431+
&[("BD", "D"), ("BC", "C"),]);
432432
}
433433

434434
#[test]
435435
fn each_adjacent_from_c() {
436436
let graph = create_graph();
437437
test_adjacent_edges(&graph, NodeIndex(2), "C",
438-
[("EC", "E"), ("BC", "B")],
439-
[]);
438+
&[("EC", "E"), ("BC", "B")],
439+
&[]);
440440
}
441441

442442
#[test]
443443
fn each_adjacent_from_d() {
444444
let graph = create_graph();
445445
test_adjacent_edges(&graph, NodeIndex(3), "D",
446-
[("BD", "B")],
447-
[("DE", "E")]);
446+
&[("BD", "B")],
447+
&[("DE", "E")]);
448448
}
449449
}

src/librustc/middle/traits/util.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ pub fn supertraits<'cx, 'tcx>(tcx: &'cx ty::ctxt<'tcx>,
5757
* `supertraits(Baz)` yields `[Baz, Bar, Foo, Foo]` in some order.
5858
*/
5959

60-
transitive_bounds(tcx, [trait_ref])
60+
transitive_bounds(tcx, &[trait_ref])
6161
}
6262

6363
pub fn transitive_bounds<'cx, 'tcx>(tcx: &'cx ty::ctxt<'tcx>,

src/librustc/middle/trans/_match.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -643,8 +643,8 @@ fn bind_subslice_pat(bcx: Block,
643643
ty::mt {ty: vt.unit_ty, mutbl: ast::MutImmutable});
644644
let scratch = rvalue_scratch_datum(bcx, slice_ty, "");
645645
Store(bcx, slice_begin,
646-
GEPi(bcx, scratch.val, [0u, abi::slice_elt_base]));
647-
Store(bcx, slice_len, GEPi(bcx, scratch.val, [0u, abi::slice_elt_len]));
646+
GEPi(bcx, scratch.val, &[0u, abi::slice_elt_base]));
647+
Store(bcx, slice_len, GEPi(bcx, scratch.val, &[0u, abi::slice_elt_len]));
648648
scratch.val
649649
}
650650

@@ -658,9 +658,9 @@ fn extract_vec_elems<'blk, 'tcx>(bcx: Block<'blk, 'tcx>,
658658
let vec_datum = match_datum(val, left_ty);
659659
let (base, len) = vec_datum.get_vec_base_and_len(bcx);
660660
let mut elems = vec![];
661-
elems.extend(range(0, before).map(|i| GEPi(bcx, base, [i])));
661+
elems.extend(range(0, before).map(|i| GEPi(bcx, base, &[i])));
662662
elems.extend(range(0, after).rev().map(|i| {
663-
InBoundsGEP(bcx, base, [
663+
InBoundsGEP(bcx, base, &[
664664
Sub(bcx, len, C_uint(bcx.ccx(), i + 1))
665665
])
666666
}));
@@ -796,7 +796,7 @@ fn compare_values<'blk, 'tcx>(cx: Block<'blk, 'tcx>,
796796
format!("comparison of `{}`",
797797
cx.ty_to_string(rhs_t)).as_slice(),
798798
StrEqFnLangItem);
799-
callee::trans_lang_call(cx, did, [lhs, rhs], None)
799+
callee::trans_lang_call(cx, did, &[lhs, rhs], None)
800800
}
801801

802802
let _icx = push_ctxt("compare_values");
@@ -1390,7 +1390,7 @@ fn trans_match_inner<'blk, 'tcx>(scope_cx: Block<'blk, 'tcx>,
13901390
&& arm.pats.last().unwrap().node == ast::PatWild(ast::PatWildSingle)
13911391
});
13921392

1393-
compile_submatch(bcx, matches.as_slice(), [discr_datum.val], &chk, has_default);
1393+
compile_submatch(bcx, matches.as_slice(), &[discr_datum.val], &chk, has_default);
13941394

13951395
let mut arm_cxs = Vec::new();
13961396
for arm_data in arm_datas.iter() {

0 commit comments

Comments
 (0)