Skip to content

Commit 98b4d64

Browse files
committed
---
yaml --- r: 46591 b: refs/heads/auto c: 7f5d4cb h: refs/heads/master i: 46589: 982175b 46587: 3dfbbe5 46583: 48eeb4e 46575: 303209f 46559: 6814c2d 46527: 6dadc60 46463: a8fcaa6 46335: f07af2f 46079: 657bed8 v: v3
1 parent 2e2eed5 commit 98b4d64

Some content is hidden

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

78 files changed

+2765
-2277
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
1414
refs/tags/release-0.3.1: 495bae036dfe5ec6ceafd3312b4dca48741e845b
1515
refs/tags/release-0.4: e828ea2080499553b97dfe33b3f4d472b4562ad7
1616
refs/tags/release-0.5: 7e3bcfbf21278251ee936ad53e92e9b719702d73
17-
refs/heads/auto: 33e7a1f087b3b8047891b91fa95c5626042e7f6e
17+
refs/heads/auto: 7f5d4cbda027482cfeb554c5bc30551377a668a2

branches/auto/src/libcore/to_str.rs

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -74,53 +74,10 @@ impl<A:ToStr,B:ToStr,C:ToStr> ToStr for (A, B, C) {
7474
}
7575
}
7676

77-
impl<A:ToStr> ToStr for &[A] {
78-
#[inline(always)]
79-
pure fn to_str(&self) -> ~str {
80-
unsafe {
81-
// FIXME #4568
82-
// Bleh -- not really unsafe
83-
// push_str and push_char
84-
let mut acc = ~"[", first = true;
85-
for self.each |elt| {
86-
unsafe {
87-
if first { first = false; }
88-
else { str::push_str(&mut acc, ~", "); }
89-
str::push_str(&mut acc, elt.to_str());
90-
}
91-
}
92-
str::push_char(&mut acc, ']');
93-
acc
94-
}
95-
}
96-
}
97-
9877
impl<A:ToStr> ToStr for ~[A] {
9978
#[inline(always)]
10079
pure fn to_str(&self) -> ~str {
10180
unsafe {
102-
// FIXME #4568
103-
// Bleh -- not really unsafe
104-
// push_str and push_char
105-
let mut acc = ~"[", first = true;
106-
for self.each |elt| {
107-
unsafe {
108-
if first { first = false; }
109-
else { str::push_str(&mut acc, ~", "); }
110-
str::push_str(&mut acc, elt.to_str());
111-
}
112-
}
113-
str::push_char(&mut acc, ']');
114-
acc
115-
}
116-
}
117-
}
118-
119-
impl<A:ToStr> ToStr for @[A] {
120-
#[inline(always)]
121-
pure fn to_str(&self) -> ~str {
122-
unsafe {
123-
// FIXME #4568
12481
// Bleh -- not really unsafe
12582
// push_str and push_char
12683
let mut acc = ~"[", first = true;

branches/auto/src/libfuzzer/fuzzer.rc

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ pub pure fn safe_to_use_expr(e: ast::expr, tm: test_mode) -> bool {
134134

135135
pub fn safe_to_steal_ty(t: @ast::Ty, tm: test_mode) -> bool {
136136
// Restrictions happen to be the same.
137-
safe_to_replace_ty(t.node, tm)
137+
safe_to_replace_ty(&t.node, tm)
138138
}
139139

140140
// Not type-parameterized: https://github.com/mozilla/rust/issues/898 (FIXED)
@@ -175,8 +175,8 @@ pub fn steal(crate: ast::crate, tm: test_mode) -> StolenStuff {
175175
}
176176

177177

178-
pub fn safe_to_replace_expr(e: ast::expr_, _tm: test_mode) -> bool {
179-
match e {
178+
pub fn safe_to_replace_expr(e: &ast::expr_, _tm: test_mode) -> bool {
179+
match *e {
180180
// https://github.com/mozilla/rust/issues/652
181181
ast::expr_if(*) => { false }
182182
ast::expr_block(_) => { false }
@@ -188,8 +188,8 @@ pub fn safe_to_replace_expr(e: ast::expr_, _tm: test_mode) -> bool {
188188
}
189189
}
190190

191-
pub fn safe_to_replace_ty(t: ast::ty_, _tm: test_mode) -> bool {
192-
match t {
191+
pub fn safe_to_replace_ty(t: &ast::ty_, _tm: test_mode) -> bool {
192+
match *t {
193193
ast::ty_infer => { false } // always implicit, always top level
194194
ast::ty_bot => { false } // in source, can only appear
195195
// as the out type of a function
@@ -204,7 +204,7 @@ pub fn replace_expr_in_crate(crate: ast::crate, i: uint,
204204
ast::crate {
205205
let j: @mut uint = @mut 0u;
206206
fn fold_expr_rep(j_: @mut uint, i_: uint, newexpr_: ast::expr_,
207-
original: ast::expr_, fld: fold::ast_fold,
207+
original: &ast::expr_, fld: fold::ast_fold,
208208
tm_: test_mode) ->
209209
ast::expr_ {
210210
*j_ += 1u;
@@ -221,7 +221,7 @@ pub fn replace_expr_in_crate(crate: ast::crate, i: uint,
221221
.. *fold::default_ast_fold()
222222
};
223223
let af = fold::make_fold(afp);
224-
let crate2: @ast::crate = @af.fold_crate(crate);
224+
let crate2: @ast::crate = @af.fold_crate(&crate);
225225
*crate2
226226
}
227227

@@ -231,7 +231,7 @@ pub fn replace_ty_in_crate(crate: ast::crate, i: uint, newty: ast::Ty,
231231
tm: test_mode) -> ast::crate {
232232
let j: @mut uint = @mut 0u;
233233
fn fold_ty_rep(j_: @mut uint, i_: uint, newty_: ast::ty_,
234-
original: ast::ty_, fld: fold::ast_fold,
234+
original: &ast::ty_, fld: fold::ast_fold,
235235
tm_: test_mode) ->
236236
ast::ty_ {
237237
*j_ += 1u;
@@ -244,7 +244,7 @@ pub fn replace_ty_in_crate(crate: ast::crate, i: uint, newty: ast::Ty,
244244
.. *fold::default_ast_fold()
245245
};
246246
let af = fold::make_fold(afp);
247-
let crate2: @ast::crate = @af.fold_crate(crate);
247+
let crate2: @ast::crate = @af.fold_crate(&crate);
248248
*crate2
249249
}
250250

branches/auto/src/librustc/driver/driver.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -396,7 +396,7 @@ pub fn pretty_print_input(sess: Session, +cfg: ast::crate_cfg, input: input,
396396
pprust::node_block(s, ref blk) => {
397397
pp::space(s.s);
398398
pprust::synth_comment(
399-
s, ~"block " + int::to_str((*blk).node.id));
399+
s, ~"block " + int::to_str(blk.node.id));
400400
}
401401
pprust::node_expr(s, expr) => {
402402
pp::space(s.s);

branches/auto/src/librustc/driver/session.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ pub mod test {
358358
pub fn make_crate_type_attr(+t: ~str) -> ast::attribute {
359359
codemap::respan(codemap::dummy_sp(), ast::attribute_ {
360360
style: ast::attr_outer,
361-
value: codemap::respan(codemap::dummy_sp(),
361+
value: @codemap::respan(codemap::dummy_sp(),
362362
ast::meta_name_value(
363363
@~"crate_type",
364364
codemap::respan(codemap::dummy_sp(),

branches/auto/src/librustc/front/config.rs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ pub fn strip_items(crate: @ast::crate, in_cfg: in_cfg_pred)
4545
.. *fold::default_ast_fold()};
4646

4747
let fold = fold::make_fold(precursor);
48-
let res = @fold.fold_crate(*crate);
48+
let res = @fold.fold_crate(&*crate);
4949
return res;
5050
}
5151

@@ -63,7 +63,7 @@ fn filter_view_item(cx: @Context, &&view_item: @ast::view_item
6363
}
6464
}
6565

66-
fn fold_mod(cx: @Context, m: ast::_mod, fld: fold::ast_fold) -> ast::_mod {
66+
fn fold_mod(cx: @Context, m: &ast::_mod, fld: fold::ast_fold) -> ast::_mod {
6767
let filtered_items =
6868
m.items.filter_mapped(|a| filter_item(cx, *a));
6969
let filtered_view_items =
@@ -83,7 +83,7 @@ fn filter_foreign_item(cx: @Context, &&item: @ast::foreign_item) ->
8383

8484
fn fold_foreign_mod(
8585
cx: @Context,
86-
nm: ast::foreign_mod,
86+
nm: &ast::foreign_mod,
8787
fld: fold::ast_fold
8888
) -> ast::foreign_mod {
8989
let filtered_items =
@@ -98,21 +98,21 @@ fn fold_foreign_mod(
9898
}
9999
}
100100

101-
fn fold_item_underscore(cx: @Context, +item: ast::item_,
101+
fn fold_item_underscore(cx: @Context, item: &ast::item_,
102102
fld: fold::ast_fold) -> ast::item_ {
103-
let item = match item {
104-
ast::item_impl(a, b, c, methods) => {
103+
let item = match *item {
104+
ast::item_impl(ref a, b, c, ref methods) => {
105105
let methods = methods.filtered(|m| method_in_cfg(cx, *m) );
106-
ast::item_impl(a, b, c, methods)
106+
ast::item_impl(/*bad*/ copy *a, b, c, methods)
107107
}
108108
ast::item_trait(ref a, ref b, ref methods) => {
109109
let methods = methods.filtered(|m| trait_method_in_cfg(cx, m) );
110110
ast::item_trait(/*bad*/copy *a, /*bad*/copy *b, methods)
111111
}
112-
item => item
112+
ref item => /*bad*/ copy *item
113113
};
114114

115-
fold::noop_fold_item_underscore(item, fld)
115+
fold::noop_fold_item_underscore(&item, fld)
116116
}
117117

118118
fn filter_stmt(cx: @Context, &&stmt: @ast::stmt) ->
@@ -134,7 +134,7 @@ fn filter_stmt(cx: @Context, &&stmt: @ast::stmt) ->
134134

135135
fn fold_block(
136136
cx: @Context,
137-
b: ast::blk_,
137+
b: &ast::blk_,
138138
fld: fold::ast_fold
139139
) -> ast::blk_ {
140140
let filtered_stmts =

branches/auto/src/librustc/front/core_inject.rs

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ fn inject_libcore_ref(sess: Session,
5050
attrs: ~[
5151
spanned(ast::attribute_ {
5252
style: ast::attr_inner,
53-
value: spanned(ast::meta_name_value(
53+
value: @spanned(ast::meta_name_value(
5454
@~"vers",
5555
spanned(ast::lit_str(@CORE_VERSION.to_str()))
5656
)),
@@ -66,10 +66,13 @@ fn inject_libcore_ref(sess: Session,
6666
view_items: vis,
6767
../*bad*/copy crate.module
6868
};
69-
new_module = fld.fold_mod(new_module);
69+
new_module = fld.fold_mod(&new_module);
7070

7171
// FIXME #2543: Bad copy.
72-
let new_crate = ast::crate_ { module: new_module, ..copy crate };
72+
let new_crate = ast::crate_ {
73+
module: new_module,
74+
..copy *crate
75+
};
7376
(new_crate, span)
7477
},
7578
fold_mod: |module, fld| {
@@ -95,12 +98,15 @@ fn inject_libcore_ref(sess: Session,
9598
let vis = vec::append(~[vi2], module.view_items);
9699

97100
// FIXME #2543: Bad copy.
98-
let new_module = ast::_mod { view_items: vis, ..copy module };
99-
fold::noop_fold_mod(new_module, fld)
101+
let new_module = ast::_mod {
102+
view_items: vis,
103+
..copy *module
104+
};
105+
fold::noop_fold_mod(&new_module, fld)
100106
},
101107
..*fold::default_ast_fold()
102108
};
103109

104110
let fold = fold::make_fold(precursor);
105-
@fold.fold_crate(*crate)
111+
@fold.fold_crate(crate)
106112
}

branches/auto/src/librustc/front/test.rs

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ fn generate_test_harness(sess: session::Session,
9191
fold_mod: |a,b| fold_mod(cx, a, b),.. *fold::default_ast_fold()};
9292

9393
let fold = fold::make_fold(precursor);
94-
let res = @fold.fold_crate(*crate);
94+
let res = @fold.fold_crate(&*crate);
9595
cx.ext_cx.bt_pop();
9696
return res;
9797
}
@@ -106,7 +106,7 @@ fn strip_test_functions(crate: @ast::crate) -> @ast::crate {
106106
}
107107

108108
fn fold_mod(cx: @mut TestCtxt,
109-
m: ast::_mod,
109+
m: &ast::_mod,
110110
fld: fold::ast_fold)
111111
-> ast::_mod {
112112
// Remove any #[main] from the AST so it doesn't clash with
@@ -125,19 +125,21 @@ fn fold_mod(cx: @mut TestCtxt,
125125
items: vec::map(m.items, |i| nomain(cx, *i)),
126126
};
127127

128-
fold::noop_fold_mod(mod_nomain, fld)
128+
fold::noop_fold_mod(&mod_nomain, fld)
129129
}
130130

131131
fn fold_crate(cx: @mut TestCtxt,
132-
c: ast::crate_,
132+
c: &ast::crate_,
133133
fld: fold::ast_fold)
134134
-> ast::crate_ {
135135
let folded = fold::noop_fold_crate(c, fld);
136136

137137
// Add a special __test module to the crate that will contain code
138138
// generated for the test harness
139-
ast::crate_ { module: add_test_module(cx, /*bad*/copy folded.module),
140-
.. folded }
139+
ast::crate_ {
140+
module: add_test_module(cx, &folded.module),
141+
.. folded
142+
}
141143
}
142144

143145

@@ -238,11 +240,11 @@ fn should_fail(i: @ast::item) -> bool {
238240
vec::len(attr::find_attrs_by_name(i.attrs, ~"should_fail")) > 0u
239241
}
240242

241-
fn add_test_module(cx: &TestCtxt, +m: ast::_mod) -> ast::_mod {
243+
fn add_test_module(cx: &TestCtxt, m: &ast::_mod) -> ast::_mod {
242244
let testmod = mk_test_module(cx);
243245
ast::_mod {
244246
items: vec::append_one(/*bad*/copy m.items, testmod),
245-
.. m
247+
.. /*bad*/ copy *m
246248
}
247249
}
248250

branches/auto/src/librustc/metadata/decoder.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -994,7 +994,7 @@ fn get_attributes(md: ebml::Doc) -> ~[ast::attribute] {
994994
codemap::spanned {
995995
node: ast::attribute_ {
996996
style: ast::attr_outer,
997-
value: /*bad*/copy *meta_item,
997+
value: meta_item,
998998
is_sugared_doc: false,
999999
},
10001000
span: codemap::dummy_sp()

branches/auto/src/librustc/metadata/encoder.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ fn encode_path(ecx: @EncodeContext, ebml_w: writer::Encoder,
323323
}
324324

325325
fn encode_info_for_mod(ecx: @EncodeContext, ebml_w: writer::Encoder,
326-
md: _mod, id: node_id, path: &[ast_map::path_elt],
326+
md: &_mod, id: node_id, path: &[ast_map::path_elt],
327327
name: ident) {
328328
ebml_w.start_tag(tag_items_data_item);
329329
encode_def_id(ebml_w, local_def(id));
@@ -621,7 +621,7 @@ fn encode_info_for_item(ecx: @EncodeContext, ebml_w: writer::Encoder,
621621
}
622622
ebml_w.end_tag();
623623
}
624-
item_mod(m) => {
624+
item_mod(ref m) => {
625625
add_to_index();
626626
encode_info_for_mod(ecx, ebml_w, m, item.id, path, item.ident);
627627
}
@@ -856,8 +856,8 @@ fn encode_info_for_item(ecx: @EncodeContext, ebml_w: writer::Encoder,
856856
// method info, we output static methods with type signatures as
857857
// written. Here, we output the *real* type signatures. I feel like
858858
// maybe we should only ever handle the real type signatures.
859-
for vec::each((*ms)) |m| {
860-
let ty_m = ast_util::trait_method_to_ty_method(*m);
859+
for ms.each |m| {
860+
let ty_m = ast_util::trait_method_to_ty_method(m);
861861
if ty_m.self_ty.node != ast::sty_static { loop; }
862862
863863
index.push(entry { val: ty_m.id, pos: ebml_w.writer.tell() });
@@ -927,7 +927,7 @@ fn encode_info_for_items(ecx: @EncodeContext, ebml_w: writer::Encoder,
927927
let index = @mut ~[];
928928
ebml_w.start_tag(tag_items_data);
929929
index.push(entry { val: crate_node_id, pos: ebml_w.writer.tell() });
930-
encode_info_for_mod(ecx, ebml_w, crate.node.module,
930+
encode_info_for_mod(ecx, ebml_w, &crate.node.module,
931931
crate_node_id, ~[],
932932
syntax::parse::token::special_idents::invalid);
933933
visit::visit_crate(*crate, (), visit::mk_vt(@visit::Visitor {
@@ -1020,7 +1020,7 @@ fn write_int(writer: io::Writer, &&n: int) {
10201020
writer.write_be_u32(n as u32);
10211021
}
10221022
1023-
fn encode_meta_item(ebml_w: writer::Encoder, mi: meta_item) {
1023+
fn encode_meta_item(ebml_w: writer::Encoder, mi: @meta_item) {
10241024
match mi.node {
10251025
meta_word(name) => {
10261026
ebml_w.start_tag(tag_meta_item_word);
@@ -1050,7 +1050,7 @@ fn encode_meta_item(ebml_w: writer::Encoder, mi: meta_item) {
10501050
ebml_w.writer.write(str::to_bytes(*name));
10511051
ebml_w.end_tag();
10521052
for items.each |inner_item| {
1053-
encode_meta_item(ebml_w, **inner_item);
1053+
encode_meta_item(ebml_w, *inner_item);
10541054
}
10551055
ebml_w.end_tag();
10561056
}

0 commit comments

Comments
 (0)