Skip to content

Commit c2ac9a8

Browse files
committed
---
yaml --- r: 16109 b: refs/heads/try c: 555492e h: refs/heads/master i: 16107: 2ccbfee v: v3
1 parent 2c42af9 commit c2ac9a8

File tree

3 files changed

+12
-11
lines changed

3 files changed

+12
-11
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
refs/heads/master: 61b1875c16de39c166b0f4d54bba19f9c6777d1a
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
5-
refs/heads/try: 79b3dedac3f50ec22d9fcab887f29d03ceec9406
5+
refs/heads/try: 555492e427035caf4a0849580b16130ede6dcf5b
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

branches/try/src/librustsyntax/ast_util.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
import codemap::span;
22
import ast::*;
33

4-
fn spanned<T: copy>(lo: uint, hi: uint, t: T) -> spanned<T> {
4+
pure fn spanned<T: copy>(lo: uint, hi: uint, t: T) -> spanned<T> {
55
respan(mk_sp(lo, hi), t)
66
}
77

8-
fn respan<T: copy>(sp: span, t: T) -> spanned<T> {
8+
pure fn respan<T: copy>(sp: span, t: T) -> spanned<T> {
99
{node: t, span: sp}
1010
}
1111

12-
fn dummy_spanned<T: copy>(t: T) -> spanned<T> {
12+
pure fn dummy_spanned<T: copy>(t: T) -> spanned<T> {
1313
respan(dummy_sp(), t)
1414
}
1515

1616
/* assuming that we're not in macro expansion */
17-
fn mk_sp(lo: uint, hi: uint) -> span {
17+
pure fn mk_sp(lo: uint, hi: uint) -> span {
1818
{lo: lo, hi: hi, expn_info: none}
1919
}
2020

2121
// make this a const, once the compiler supports it
22-
fn dummy_sp() -> span { ret mk_sp(0u, 0u); }
22+
pure fn dummy_sp() -> span { ret mk_sp(0u, 0u); }
2323

2424
fn path_name(p: @path) -> str { path_name_i(p.idents) }
2525

branches/try/src/rustc/middle/trans/alt.rs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import syntax::print::pprust::pat_to_str;
1313
import back::abi;
1414
import resolve::def_map;
1515
import std::map::hashmap;
16+
import dvec::{dvec, extensions};
1617

1718
import common::*;
1819

@@ -236,12 +237,12 @@ fn enter_uniq(dm: def_map, m: match, col: uint, val: ValueRef) -> match {
236237
}
237238

238239
fn get_options(ccx: @crate_ctxt, m: match, col: uint) -> [opt] {
239-
fn add_to_set(tcx: ty::ctxt, &set: [opt], val: opt) {
240-
for vec::each(set) {|l| if opt_eq(tcx, l, val) { ret; } }
241-
set += [val];
240+
fn add_to_set(tcx: ty::ctxt, &&set: dvec<opt>, val: opt) {
241+
if set.any({|l| opt_eq(tcx, l, val)}) {ret;}
242+
set.push(val);
242243
}
243244

244-
let mut found = [];
245+
let found = dvec();
245246
for vec::each(m) {|br|
246247
let cur = br.pats[col];
247248
if pat_is_variant(ccx.tcx.def_map, cur) {
@@ -256,7 +257,7 @@ fn get_options(ccx: @crate_ctxt, m: match, col: uint) -> [opt] {
256257
}
257258
}
258259
}
259-
ret found;
260+
ret vec::from_mut(dvec::unwrap(found));
260261
}
261262

262263
fn extract_variant_args(bcx: block, pat_id: ast::node_id,

0 commit comments

Comments
 (0)