librustc: Change repeated vector expressions to use implicit copyability.
This commit is contained in:
parent
2dbb3c3887
commit
d57e8f8419
|
@ -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();
|
||||
}
|
||||
|
|
|
@ -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)));
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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,
|
||||
|
|
Loading…
Reference in New Issue