Skip to content

Commit d57e8f8

Browse files
committed
librustc: Change repeated vector expressions to use implicit copyability.
1 parent 2dbb3c3 commit d57e8f8

File tree

4 files changed

+34
-6
lines changed

4 files changed

+34
-6
lines changed

src/libextra/terminfo/parm.rs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,24 @@ pub struct Variables {
5656
impl Variables {
5757
/// Return a new zero-initialized Variables
5858
pub fn new() -> Variables {
59-
Variables{ sta: [Number(0), ..26], dyn: [Number(0), ..26] }
59+
Variables {
60+
sta: [
61+
Number(0), Number(0), Number(0), Number(0), Number(0),
62+
Number(0), Number(0), Number(0), Number(0), Number(0),
63+
Number(0), Number(0), Number(0), Number(0), Number(0),
64+
Number(0), Number(0), Number(0), Number(0), Number(0),
65+
Number(0), Number(0), Number(0), Number(0), Number(0),
66+
Number(0),
67+
],
68+
dyn: [
69+
Number(0), Number(0), Number(0), Number(0), Number(0),
70+
Number(0), Number(0), Number(0), Number(0), Number(0),
71+
Number(0), Number(0), Number(0), Number(0), Number(0),
72+
Number(0), Number(0), Number(0), Number(0), Number(0),
73+
Number(0), Number(0), Number(0), Number(0), Number(0),
74+
Number(0),
75+
],
76+
}
6077
}
6178
}
6279

@@ -81,7 +98,10 @@ pub fn expand(cap: &[u8], params: &[Param], vars: &mut Variables)
8198
let mut stack: ~[Param] = ~[];
8299

83100
// Copy parameters into a local vector for mutability
84-
let mut mparams = [Number(0), ..9];
101+
let mut mparams = [
102+
Number(0), Number(0), Number(0), Number(0), Number(0),
103+
Number(0), Number(0), Number(0), Number(0),
104+
];
85105
for mparams.mut_iter().zip(params.iter()).advance |(dst, src)| {
86106
*dst = (*src).clone();
87107
}

src/librustc/middle/kind.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ fn check_copy(cx: Context, ty: ty::t, sp: span, reason: &str) {
433433
debug!("type_contents(%s)=%s",
434434
ty_to_str(cx.tcx, ty),
435435
ty::type_contents(cx.tcx, ty).to_str());
436-
if !ty::type_is_copyable(cx.tcx, ty) {
436+
if ty::type_moves_by_default(cx.tcx, ty) {
437437
cx.tcx.sess.span_err(
438438
sp, fmt!("copying a value of non-copyable type `%s`",
439439
ty_to_str(cx.tcx, ty)));

src/libsyntax/parse/lexer.rs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,11 @@ pub trait reader {
3333
fn dup(@mut self) -> @reader;
3434
}
3535

36-
#[deriving(Eq)]
37-
pub struct TokenAndSpan {tok: token::Token, sp: span}
36+
#[deriving(Clone, Eq)]
37+
pub struct TokenAndSpan {
38+
tok: token::Token,
39+
sp: span,
40+
}
3841

3942
pub struct StringReader {
4043
span_diagnostic: @span_handler,

src/libsyntax/parse/parser.rs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,12 @@ pub fn Parser(sess: @mut ParseSess,
280280
token: @mut tok0.tok,
281281
span: @mut span,
282282
last_span: @mut span,
283-
buffer: @mut ([placeholder, .. 4]),
283+
buffer: @mut ([
284+
placeholder.clone(),
285+
placeholder.clone(),
286+
placeholder.clone(),
287+
placeholder.clone(),
288+
]),
284289
buffer_start: @mut 0,
285290
buffer_end: @mut 0,
286291
tokens_consumed: @mut 0,

0 commit comments

Comments
 (0)