diff --git a/src/libextra/terminfo/parm.rs b/src/libextra/terminfo/parm.rs index 840669f27b5..b182a9057bd 100644 --- a/src/libextra/terminfo/parm.rs +++ b/src/libextra/terminfo/parm.rs @@ -56,7 +56,24 @@ pub struct Variables { impl Variables { /// Return a new zero-initialized Variables pub fn new() -> Variables { - Variables{ sta: [Number(0), ..26], dyn: [Number(0), ..26] } + Variables { + sta: [ + Number(0), Number(0), Number(0), Number(0), Number(0), + Number(0), Number(0), Number(0), Number(0), Number(0), + Number(0), Number(0), Number(0), Number(0), Number(0), + Number(0), Number(0), Number(0), Number(0), Number(0), + Number(0), Number(0), Number(0), Number(0), Number(0), + Number(0), + ], + dyn: [ + Number(0), Number(0), Number(0), Number(0), Number(0), + Number(0), Number(0), Number(0), Number(0), Number(0), + Number(0), Number(0), Number(0), Number(0), Number(0), + Number(0), Number(0), Number(0), Number(0), Number(0), + Number(0), Number(0), Number(0), Number(0), Number(0), + Number(0), + ], + } } } @@ -81,7 +98,10 @@ pub fn expand(cap: &[u8], params: &[Param], vars: &mut Variables) let mut stack: ~[Param] = ~[]; // Copy parameters into a local vector for mutability - let mut mparams = [Number(0), ..9]; + let mut mparams = [ + Number(0), Number(0), Number(0), Number(0), Number(0), + Number(0), Number(0), Number(0), Number(0), + ]; for mparams.mut_iter().zip(params.iter()).advance |(dst, src)| { *dst = (*src).clone(); } diff --git a/src/librustc/middle/kind.rs b/src/librustc/middle/kind.rs index 95733678021..700605a698b 100644 --- a/src/librustc/middle/kind.rs +++ b/src/librustc/middle/kind.rs @@ -433,7 +433,7 @@ fn check_copy(cx: Context, ty: ty::t, sp: span, reason: &str) { debug!("type_contents(%s)=%s", ty_to_str(cx.tcx, ty), ty::type_contents(cx.tcx, ty).to_str()); - if !ty::type_is_copyable(cx.tcx, ty) { + if ty::type_moves_by_default(cx.tcx, ty) { cx.tcx.sess.span_err( sp, fmt!("copying a value of non-copyable type `%s`", ty_to_str(cx.tcx, ty))); diff --git a/src/libsyntax/parse/lexer.rs b/src/libsyntax/parse/lexer.rs index 8db80cddded..1614a303d95 100644 --- a/src/libsyntax/parse/lexer.rs +++ b/src/libsyntax/parse/lexer.rs @@ -33,8 +33,11 @@ pub trait reader { fn dup(@mut self) -> @reader; } -#[deriving(Eq)] -pub struct TokenAndSpan {tok: token::Token, sp: span} +#[deriving(Clone, Eq)] +pub struct TokenAndSpan { + tok: token::Token, + sp: span, +} pub struct StringReader { span_diagnostic: @span_handler, diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index adecbc050a3..324be2f978d 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -280,7 +280,12 @@ pub fn Parser(sess: @mut ParseSess, token: @mut tok0.tok, span: @mut span, last_span: @mut span, - buffer: @mut ([placeholder, .. 4]), + buffer: @mut ([ + placeholder.clone(), + placeholder.clone(), + placeholder.clone(), + placeholder.clone(), + ]), buffer_start: @mut 0, buffer_end: @mut 0, tokens_consumed: @mut 0,