")),
}
- w.write(['\n' as u8])
+ w.write(&['\n' as u8])
}
/// Unwind library interface used for backtraces
diff --git a/src/libsyntax/ext/deriving/decodable.rs b/src/libsyntax/ext/deriving/decodable.rs
index fd24f5e35a446..9e4dbf930dbae 100644
--- a/src/libsyntax/ext/deriving/decodable.rs
+++ b/src/libsyntax/ext/deriving/decodable.rs
@@ -136,6 +136,7 @@ fn decodable_substructure(cx: &mut ExtCtxt, trait_span: Span,
cx.expr_ident(trait_span, variant), arms));
let lambda = cx.lambda_expr(trait_span, vec!(blkarg, variant), result);
let variant_vec = cx.expr_vec(trait_span, variants);
+ let variant_vec = cx.expr_addr_of(trait_span, variant_vec);
let result = cx.expr_method_call(trait_span, blkdecoder,
cx.ident_of("read_enum_variant"),
vec!(variant_vec, lambda));
diff --git a/src/libsyntax/ext/format.rs b/src/libsyntax/ext/format.rs
index 486ce910e2b6f..f6b29da38c0a0 100644
--- a/src/libsyntax/ext/format.rs
+++ b/src/libsyntax/ext/format.rs
@@ -14,7 +14,7 @@ use ext::base::*;
use ext::base;
use ext::build::AstBuilder;
use fmt_macros as parse;
-use parse::token::InternedString;
+use parse::token::{InternedString, special_idents};
use parse::token;
use ptr::P;
@@ -476,12 +476,11 @@ impl<'a, 'b> Context<'a, 'b> {
pieces: Vec>)
-> P {
let fmtsp = piece_ty.span;
- let pieces_len = ecx.expr_uint(fmtsp, pieces.len());
let fmt = ecx.expr_vec(fmtsp, pieces);
- let ty = ast::TyFixedLengthVec(
- piece_ty,
- pieces_len
- );
+ let fmt = ecx.expr_addr_of(fmtsp, fmt);
+ let ty = ast::TyVec(piece_ty);
+ let ty = ast::TyRptr(Some(ecx.lifetime(fmtsp, special_idents::static_lifetime.name)),
+ ast::MutTy{ mutbl: ast::MutImmutable, ty: ecx.ty(fmtsp, ty) });
let ty = ecx.ty(fmtsp, ty);
let st = ast::ItemStatic(ty, ast::MutImmutable, fmt);
let item = ecx.item(fmtsp, name, Context::static_attrs(ecx, fmtsp), st);
diff --git a/src/libsyntax/util/interner.rs b/src/libsyntax/util/interner.rs
index 105118ff76a9d..abd618a6bf9b1 100644
--- a/src/libsyntax/util/interner.rs
+++ b/src/libsyntax/util/interner.rs
@@ -247,7 +247,7 @@ mod tests {
#[test]
fn i3 () {
- let i : Interner = Interner::prefill([
+ let i : Interner = Interner::prefill(&[
RcStr::new("Alan"),
RcStr::new("Bob"),
RcStr::new("Carol")
diff --git a/src/libterm/terminfo/mod.rs b/src/libterm/terminfo/mod.rs
index 416be0e70508a..0b5092a64d0f3 100644
--- a/src/libterm/terminfo/mod.rs
+++ b/src/libterm/terminfo/mod.rs
@@ -81,7 +81,7 @@ impl Terminal for TerminfoTerminal {
.find_equiv("setaf")
.unwrap()
.as_slice(),
- [Number(color as int)], &mut Variables::new());
+ &[Number(color as int)], &mut Variables::new());
if s.is_ok() {
try!(self.out.write(s.unwrap().as_slice()));
return Ok(true)
@@ -98,7 +98,7 @@ impl Terminal for TerminfoTerminal {
.find_equiv("setab")
.unwrap()
.as_slice(),
- [Number(color as int)], &mut Variables::new());
+ &[Number(color as int)], &mut Variables::new());
if s.is_ok() {
try!(self.out.write(s.unwrap().as_slice()));
return Ok(true)
@@ -116,7 +116,7 @@ impl Terminal for TerminfoTerminal {
let parm = self.ti.strings.find_equiv(cap);
if parm.is_some() {
let s = expand(parm.unwrap().as_slice(),
- [],
+ &[],
&mut Variables::new());
if s.is_ok() {
try!(self.out.write(s.unwrap().as_slice()));
@@ -151,7 +151,7 @@ impl Terminal for TerminfoTerminal {
}
}
let s = cap.map_or(Err("can't find terminfo capability `sgr0`".to_string()), |op| {
- expand(op.as_slice(), [], &mut Variables::new())
+ expand(op.as_slice(), &[], &mut Variables::new())
});
if s.is_ok() {
return self.out.write(s.unwrap().as_slice())
diff --git a/src/libterm/terminfo/parm.rs b/src/libterm/terminfo/parm.rs
index 5a0f10ce52072..b492a5321ce07 100644
--- a/src/libterm/terminfo/parm.rs
+++ b/src/libterm/terminfo/parm.rs
@@ -581,13 +581,13 @@ mod test {
#[test]
fn test_basic_setabf() {
let s = b"\\E[48;5;%p1%dm";
- assert_eq!(expand(s, [Number(1)], &mut Variables::new()).unwrap(),
+ assert_eq!(expand(s, &[Number(1)], &mut Variables::new()).unwrap(),
"\\E[48;5;1m".bytes().collect());
}
#[test]
fn test_multiple_int_constants() {
- assert_eq!(expand(b"%{1}%{2}%d%d", [], &mut Variables::new()).unwrap(),
+ assert_eq!(expand(b"%{1}%{2}%d%d", &[], &mut Variables::new()).unwrap(),
"21".bytes().collect());
}
@@ -595,9 +595,9 @@ mod test {
fn test_op_i() {
let mut vars = Variables::new();
assert_eq!(expand(b"%p1%d%p2%d%p3%d%i%p1%d%p2%d%p3%d",
- [Number(1),Number(2),Number(3)], &mut vars),
+ &[Number(1),Number(2),Number(3)], &mut vars),
Ok("123233".bytes().collect()));
- assert_eq!(expand(b"%p1%d%p2%d%i%p1%d%p2%d", [], &mut vars),
+ assert_eq!(expand(b"%p1%d%p2%d%i%p1%d%p2%d", &[], &mut vars),
Ok("0011".bytes().collect()));
}
@@ -615,7 +615,7 @@ mod test {
let caps = ["%d", "%c", "%s", "%Pa", "%l", "%!", "%~"];
for &cap in caps.iter() {
- let res = get_res("", cap, [], vars);
+ let res = get_res("", cap, &[], vars);
assert!(res.is_err(),
"Op {} succeeded incorrectly with 0 stack entries", cap);
let p = if cap == "%s" || cap == "%l" {
@@ -623,19 +623,19 @@ mod test {
} else {
Number(97)
};
- let res = get_res("%p1", cap, [p], vars);
+ let res = get_res("%p1", cap, &[p], vars);
assert!(res.is_ok(),
"Op {} failed with 1 stack entry: {}", cap, res.unwrap_err());
}
let caps = ["%+", "%-", "%*", "%/", "%m", "%&", "%|", "%A", "%O"];
for &cap in caps.iter() {
- let res = expand(cap.as_bytes(), [], vars);
+ let res = expand(cap.as_bytes(), &[], vars);
assert!(res.is_err(),
"Binop {} succeeded incorrectly with 0 stack entries", cap);
- let res = get_res("%{1}", cap, [], vars);
+ let res = get_res("%{1}", cap, &[], vars);
assert!(res.is_err(),
"Binop {} succeeded incorrectly with 1 stack entry", cap);
- let res = get_res("%{1}%{2}", cap, [], vars);
+ let res = get_res("%{1}%{2}", cap, &[], vars);
assert!(res.is_ok(),
"Binop {} failed with 2 stack entries: {}", cap, res.unwrap_err());
}
@@ -643,7 +643,7 @@ mod test {
#[test]
fn test_push_bad_param() {
- assert!(expand(b"%pa", [], &mut Variables::new()).is_err());
+ assert!(expand(b"%pa", &[], &mut Variables::new()).is_err());
}
#[test]
@@ -651,15 +651,15 @@ mod test {
let v = [('<', [1u8, 0u8, 0u8]), ('=', [0u8, 1u8, 0u8]), ('>', [0u8, 0u8, 1u8])];
for &(op, bs) in v.iter() {
let s = format!("%{{1}}%{{2}}%{}%d", op);
- let res = expand(s.as_bytes(), [], &mut Variables::new());
+ let res = expand(s.as_bytes(), &[], &mut Variables::new());
assert!(res.is_ok(), res.unwrap_err());
assert_eq!(res.unwrap(), vec!(b'0' + bs[0]));
let s = format!("%{{1}}%{{1}}%{}%d", op);
- let res = expand(s.as_bytes(), [], &mut Variables::new());
+ let res = expand(s.as_bytes(), &[], &mut Variables::new());
assert!(res.is_ok(), res.unwrap_err());
assert_eq!(res.unwrap(), vec!(b'0' + bs[1]));
let s = format!("%{{2}}%{{1}}%{}%d", op);
- let res = expand(s.as_bytes(), [], &mut Variables::new());
+ let res = expand(s.as_bytes(), &[], &mut Variables::new());
assert!(res.is_ok(), res.unwrap_err());
assert_eq!(res.unwrap(), vec!(b'0' + bs[2]));
}
@@ -669,15 +669,15 @@ mod test {
fn test_conditionals() {
let mut vars = Variables::new();
let s = b"\\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m";
- let res = expand(s, [Number(1)], &mut vars);
+ let res = expand(s, &[Number(1)], &mut vars);
assert!(res.is_ok(), res.unwrap_err());
assert_eq!(res.unwrap(),
"\\E[31m".bytes().collect());
- let res = expand(s, [Number(8)], &mut vars);
+ let res = expand(s, &[Number(8)], &mut vars);
assert!(res.is_ok(), res.unwrap_err());
assert_eq!(res.unwrap(),
"\\E[90m".bytes().collect());
- let res = expand(s, [Number(42)], &mut vars);
+ let res = expand(s, &[Number(42)], &mut vars);
assert!(res.is_ok(), res.unwrap_err());
assert_eq!(res.unwrap(),
"\\E[38;5;42m".bytes().collect());
@@ -688,17 +688,17 @@ mod test {
let mut varstruct = Variables::new();
let vars = &mut varstruct;
assert_eq!(expand(b"%p1%s%p2%2s%p3%2s%p4%.2s",
- [Words("foo".to_string()),
- Words("foo".to_string()),
- Words("f".to_string()),
- Words("foo".to_string())], vars),
+ &[Words("foo".to_string()),
+ Words("foo".to_string()),
+ Words("f".to_string()),
+ Words("foo".to_string())], vars),
Ok("foofoo ffo".bytes().collect()));
- assert_eq!(expand(b"%p1%:-4.2s", [Words("foo".to_string())], vars),
+ assert_eq!(expand(b"%p1%:-4.2s", &[Words("foo".to_string())], vars),
Ok("fo ".bytes().collect()));
- assert_eq!(expand(b"%p1%d%p1%.3d%p1%5d%p1%:+d", [Number(1)], vars),
+ assert_eq!(expand(b"%p1%d%p1%.3d%p1%5d%p1%:+d", &[Number(1)], vars),
Ok("1001 1+1".bytes().collect()));
- assert_eq!(expand(b"%p1%o%p1%#o%p2%6.4x%p2%#6.4X", [Number(15), Number(27)], vars),
+ assert_eq!(expand(b"%p1%o%p1%#o%p2%6.4x%p2%#6.4X", &[Number(15), Number(27)], vars),
Ok("17017 001b0X001B".bytes().collect()));
}
}
diff --git a/src/libterm/terminfo/searcher.rs b/src/libterm/terminfo/searcher.rs
index 61ff88a2fa338..94e234291af98 100644
--- a/src/libterm/terminfo/searcher.rs
+++ b/src/libterm/terminfo/searcher.rs
@@ -61,13 +61,13 @@ pub fn get_dbpath_for_term(term: &str) -> Option> {
for p in dirs_to_search.iter() {
if p.exists() {
let f = first_char.to_string();
- let newp = p.join_many([f.as_slice(), term]);
+ let newp = p.join_many(&[f.as_slice(), term]);
if newp.exists() {
return Some(box newp);
}
// on some installations the dir is named after the hex of the char (e.g. OS X)
let f = format!("{:x}", first_char as uint);
- let newp = p.join_many([f.as_slice(), term]);
+ let newp = p.join_many(&[f.as_slice(), term]);
if newp.exists() {
return Some(box newp);
}
diff --git a/src/libtest/lib.rs b/src/libtest/lib.rs
index 81d0bb76d1497..cb4cd52682d6a 100644
--- a/src/libtest/lib.rs
+++ b/src/libtest/lib.rs
@@ -1323,7 +1323,7 @@ impl Bencher {
if n == 0 { n = 1; }
let mut total_run = 0;
- let samples : &mut [f64] = [0.0_f64, ..50];
+ let samples : &mut [f64] = &mut [0.0_f64, ..50];
loop {
let loop_start = precise_time_ns();
diff --git a/src/libtest/stats.rs b/src/libtest/stats.rs
index 8c184ccbe43a8..3fd664c7002bf 100644
--- a/src/libtest/stats.rs
+++ b/src/libtest/stats.rs
@@ -1036,11 +1036,11 @@ mod tests {
assert_eq!(out, expected);
}
- t(&Summary::new([-2.0f64, -1.0f64]),
+ t(&Summary::new(&[-2.0f64, -1.0f64]),
"-2 |[------******#*****---]| -1".to_string());
- t(&Summary::new([0.0f64, 2.0f64]),
+ t(&Summary::new(&[0.0f64, 2.0f64]),
"0 |[-------*****#*******---]| 2".to_string());
- t(&Summary::new([-2.0f64, 0.0f64]),
+ t(&Summary::new(&[-2.0f64, 0.0f64]),
"-2 |[------******#******---]| 0".to_string());
}
diff --git a/src/libtime/lib.rs b/src/libtime/lib.rs
index ac3574f5a03ee..7399e4e29167c 100644
--- a/src/libtime/lib.rs
+++ b/src/libtime/lib.rs
@@ -546,7 +546,7 @@ pub fn strptime(s: &str, format: &str) -> Result {
fn parse_type(s: &str, pos: uint, ch: char, tm: &mut Tm)
-> Result {
match ch {
- 'A' => match match_strs(s, pos, [
+ 'A' => match match_strs(s, pos, &[
("Sunday", 0_i32),
("Monday", 1_i32),
("Tuesday", 2_i32),
@@ -558,7 +558,7 @@ pub fn strptime(s: &str, format: &str) -> Result {
Some(item) => { let (v, pos) = item; tm.tm_wday = v; Ok(pos) }
None => Err(InvalidDay)
},
- 'a' => match match_strs(s, pos, [
+ 'a' => match match_strs(s, pos, &[
("Sun", 0_i32),
("Mon", 1_i32),
("Tue", 2_i32),
@@ -570,7 +570,7 @@ pub fn strptime(s: &str, format: &str) -> Result {
Some(item) => { let (v, pos) = item; tm.tm_wday = v; Ok(pos) }
None => Err(InvalidDay)
},
- 'B' => match match_strs(s, pos, [
+ 'B' => match match_strs(s, pos, &[
("January", 0_i32),
("February", 1_i32),
("March", 2_i32),
@@ -587,7 +587,7 @@ pub fn strptime(s: &str, format: &str) -> Result {
Some(item) => { let (v, pos) = item; tm.tm_mon = v; Ok(pos) }
None => Err(InvalidMonth)
},
- 'b' | 'h' => match match_strs(s, pos, [
+ 'b' | 'h' => match match_strs(s, pos, &[
("Jan", 0_i32),
("Feb", 1_i32),
("Mar", 2_i32),
@@ -713,13 +713,13 @@ pub fn strptime(s: &str, format: &str) -> Result {
}
'n' => parse_char(s, pos, '\n'),
'P' => match match_strs(s, pos,
- [("am", 0_i32), ("pm", 12_i32)]) {
+ &[("am", 0_i32), ("pm", 12_i32)]) {
Some(item) => { let (v, pos) = item; tm.tm_hour += v; Ok(pos) }
None => Err(InvalidHour)
},
'p' => match match_strs(s, pos,
- [("AM", 0_i32), ("PM", 12_i32)]) {
+ &[("AM", 0_i32), ("PM", 12_i32)]) {
Some(item) => { let (v, pos) = item; tm.tm_hour += v; Ok(pos) }
None => Err(InvalidHour)
@@ -867,13 +867,13 @@ pub fn strptime(s: &str, format: &str) -> Result {
let next = range.next;
let mut buf = [0];
- let c = match rdr.read(buf) {
+ let c = match rdr.read(&mut buf) {
Ok(..) => buf[0] as char,
Err(..) => break
};
match c {
'%' => {
- let ch = match rdr.read(buf) {
+ let ch = match rdr.read(&mut buf) {
Ok(..) => buf[0] as char,
Err(..) => break
};
@@ -1119,13 +1119,13 @@ pub fn strftime(format: &str, tm: &Tm) -> Result {
let mut rdr = BufReader::new(format.as_bytes());
loop {
let mut b = [0];
- let ch = match rdr.read(b) {
+ let ch = match rdr.read(&mut b) {
Ok(_) => b[0],
Err(_) => break, // EOF.
};
match ch as char {
'%' => {
- if rdr.read(b).is_err() {
+ if rdr.read(&mut b).is_err() {
return Err(MissingFormatConverter)
}
match parse_type(b[0] as char, tm) {
diff --git a/src/test/bench/noise.rs b/src/test/bench/noise.rs
index 19ccf1b6caf72..bf7be96c4647a 100644
--- a/src/test/bench/noise.rs
+++ b/src/test/bench/noise.rs
@@ -51,7 +51,7 @@ impl Noise2DContext {
for (i, x) in permutations.iter_mut().enumerate() {
*x = i as i32;
}
- rng.shuffle(permutations);
+ rng.shuffle(&mut permutations);
Noise2DContext { rgradients: rgradients, permutations: permutations }
}
diff --git a/src/test/bench/shootout-fannkuch-redux.rs b/src/test/bench/shootout-fannkuch-redux.rs
index b4292c2b05033..b38b8e66d7dbd 100644
--- a/src/test/bench/shootout-fannkuch-redux.rs
+++ b/src/test/bench/shootout-fannkuch-redux.rs
@@ -118,7 +118,7 @@ impl Perm {
fn max(&self) -> u32 { self.fact[self.n as uint] }
fn next(&mut self) -> P {
- next_permutation(self.perm.p, self.cnt);
+ next_permutation(&mut self.perm.p, &mut self.cnt);
self.permcount += 1;
self.perm
@@ -141,7 +141,7 @@ fn work(mut perm: Perm, n: uint, max: uint) -> (i32, i32) {
while p.p[0] != 1 {
let k = p.p[0] as uint;
- reverse(p.p, k);
+ reverse(&mut p.p, k);
flips += 1;
}
diff --git a/src/test/bench/shootout-fasta-redux.rs b/src/test/bench/shootout-fasta-redux.rs
index e151369ff38ac..36ff487b0fe84 100644
--- a/src/test/bench/shootout-fasta-redux.rs
+++ b/src/test/bench/shootout-fasta-redux.rs
@@ -198,7 +198,7 @@ impl<'a, W: Writer> RandomFasta<'a, W> {
buf[i] = self.nextc();
}
buf[LINE_LEN] = '\n' as u8;
- try!(self.out.write(buf));
+ try!(self.out.write(&buf));
}
for i in range(0u, chars_left) {
buf[i] = self.nextc();
@@ -225,12 +225,12 @@ fn main() {
}
out.write_line(">TWO IUB ambiguity codes").unwrap();
- let iub = sum_and_scale(IUB);
+ let iub = sum_and_scale(&IUB);
let mut random = RandomFasta::new(&mut out, iub.as_slice());
random.make(n * 3).unwrap();
random.out.write_line(">THREE Homo sapiens frequency").unwrap();
- let homo_sapiens = sum_and_scale(HOMO_SAPIENS);
+ let homo_sapiens = sum_and_scale(&HOMO_SAPIENS);
random.lookup = make_lookup(homo_sapiens.as_slice());
random.make(n * 5).unwrap();
diff --git a/src/test/compile-fail/lint-uppercase-variables.rs b/src/test/compile-fail/lint-uppercase-variables.rs
index 902cd63b1e78c..2f840ee0761b1 100644
--- a/src/test/compile-fail/lint-uppercase-variables.rs
+++ b/src/test/compile-fail/lint-uppercase-variables.rs
@@ -30,7 +30,7 @@ fn main() {
let mut f = File::open(&Path::new("something.txt"));
let mut buff = [0u8, ..16];
- match f.read(buff) {
+ match f.read(&mut buff) {
Ok(cnt) => println!("read this many bytes: {}", cnt),
Err(IoError{ kind: EndOfFile, .. }) => println!("Got end of file: {}", EndOfFile.to_string()),
//~^ ERROR variable `EndOfFile` should have a snake case name such as `end_of_file`
diff --git a/src/test/compile-fail/non-exhaustive-pattern-witness.rs b/src/test/compile-fail/non-exhaustive-pattern-witness.rs
index b7ff3a18fcf7a..95ebbecaf1671 100644
--- a/src/test/compile-fail/non-exhaustive-pattern-witness.rs
+++ b/src/test/compile-fail/non-exhaustive-pattern-witness.rs
@@ -54,7 +54,7 @@ enum Enum {
}
fn vectors_with_nested_enums() {
- let x: &'static [Enum] = [First, Second(false)];
+ let x: &'static [Enum] = &[First, Second(false)];
match x {
//~^ ERROR non-exhaustive patterns: `[Second(true), Second(false)]` not covered
[] => (),
diff --git a/src/test/pretty/issue-4264.pp b/src/test/pretty/issue-4264.pp
index c5229f0f9f971..f3c749da95fe4 100644
--- a/src/test/pretty/issue-4264.pp
+++ b/src/test/pretty/issue-4264.pp
@@ -39,8 +39,9 @@
() => {
#[inline]
#[allow(dead_code)]
- static __STATIC_FMTSTR: [&'static str, ..(1u as uint)] =
- ([("test" as &'static str)] as [&'static str, ..1]);
+ static __STATIC_FMTSTR: &'static [&'static str] =
+ (&([("test" as &'static str)] as [&'static str, ..1]) as
+ &'static [&'static str, ..1]);
let __args_vec =
(&([] as [core::fmt::Argument<'_>, ..0]) as
&[core::fmt::Argument<'_>, ..0]);
@@ -49,7 +50,7 @@
((::std::fmt::Arguments::new as
unsafe fn(&'static [&'static str], &'a [core::fmt::Argument<'a>]) -> core::fmt::Arguments<'a>)((__STATIC_FMTSTR
as
- [&'static str, ..1]),
+ &'static [&'static str]),
(__args_vec
as
&[core::fmt::Argument<'_>, ..0]))
diff --git a/src/test/run-pass/assignability-trait.rs b/src/test/run-pass/assignability-trait.rs
index 0d90636ec9140..f822da4cdcfcf 100644
--- a/src/test/run-pass/assignability-trait.rs
+++ b/src/test/run-pass/assignability-trait.rs
@@ -53,5 +53,5 @@ pub fn main() {
// Call a method
z.iterate(|y| { assert!(z[*y as uint] == *y); true });
// Call a parameterized function
- assert_eq!(length::(z), z.len());
+ assert_eq!(length::(&z), z.len());
}
diff --git a/src/test/run-pass/borrowck-freeze-frozen-mut.rs b/src/test/run-pass/borrowck-freeze-frozen-mut.rs
index f224042bc7943..21f5d0e6c1448 100644
--- a/src/test/run-pass/borrowck-freeze-frozen-mut.rs
+++ b/src/test/run-pass/borrowck-freeze-frozen-mut.rs
@@ -21,7 +21,7 @@ fn get<'a, T>(ms: &'a MutSlice<'a, T>, index: uint) -> &'a T {
pub fn main() {
let mut data = [1i, 2, 3];
{
- let slice = MutSlice { data: data };
+ let slice = MutSlice { data: &mut data };
slice.data[0] += 4;
let index0 = get(&slice, 0);
let index1 = get(&slice, 1);
diff --git a/src/test/run-pass/capture-clauses-boxed-closures.rs b/src/test/run-pass/capture-clauses-boxed-closures.rs
index a1411146ddda6..d24b9332917bf 100644
--- a/src/test/run-pass/capture-clauses-boxed-closures.rs
+++ b/src/test/run-pass/capture-clauses-boxed-closures.rs
@@ -17,7 +17,7 @@ fn each(x: &[T], f: |&T|) {
fn main() {
let mut sum = 0u;
let elems = [ 1u, 2, 3, 4, 5 ];
- each(elems, |val| sum += *val);
+ each(&elems, |val| sum += *val);
assert_eq!(sum, 15);
}
diff --git a/src/test/run-pass/capture-clauses-unboxed-closures.rs b/src/test/run-pass/capture-clauses-unboxed-closures.rs
index a826f4df5b349..9f333fd043f07 100644
--- a/src/test/run-pass/capture-clauses-unboxed-closures.rs
+++ b/src/test/run-pass/capture-clauses-unboxed-closures.rs
@@ -19,6 +19,6 @@ fn each<'a,T,F:FnMut(&'a T)>(x: &'a [T], mut f: F) {
fn main() {
let mut sum = 0u;
let elems = [ 1u, 2, 3, 4, 5 ];
- each(elems, |&mut: val: &uint| sum += *val);
+ each(&elems, |&mut: val: &uint| sum += *val);
assert_eq!(sum, 15);
}
diff --git a/src/test/run-pass/cci_iter_exe.rs b/src/test/run-pass/cci_iter_exe.rs
index df03c93dad3ad..7191d5078b81c 100644
--- a/src/test/run-pass/cci_iter_exe.rs
+++ b/src/test/run-pass/cci_iter_exe.rs
@@ -15,7 +15,7 @@ extern crate cci_iter_lib;
pub fn main() {
//let bt0 = sys::rusti::frame_address(1u32);
//println!("%?", bt0);
- cci_iter_lib::iter([1i, 2, 3], |i| {
+ cci_iter_lib::iter(&[1i, 2, 3], |i| {
println!("{}", *i);
//assert!(bt0 == sys::rusti::frame_address(2u32));
})
diff --git a/src/test/run-pass/const-str-ptr.rs b/src/test/run-pass/const-str-ptr.rs
index 7395a997a05c5..47d59eca26316 100644
--- a/src/test/run-pass/const-str-ptr.rs
+++ b/src/test/run-pass/const-str-ptr.rs
@@ -17,13 +17,13 @@ const C: *const u8 = B as *const u8;
pub fn main() {
unsafe {
let foo = &A as *const u8;
- assert_eq!(str::raw::from_utf8(A), "hi");
+ assert_eq!(str::raw::from_utf8(&A), "hi");
assert_eq!(string::raw::from_buf_len(foo, A.len()), "hi".to_string());
assert_eq!(string::raw::from_buf_len(C, B.len()), "hi".to_string());
assert!(*C == A[0]);
assert!(*(&B[0] as *const u8) == A[0]);
- let bar = str::raw::from_utf8(A).to_c_str();
+ let bar = str::raw::from_utf8(&A).to_c_str();
assert_eq!(bar.as_str(), "hi".to_c_str().as_str());
}
}
diff --git a/src/test/run-pass/const-vec-syntax.rs b/src/test/run-pass/const-vec-syntax.rs
index 84ee54cfdde6d..c0566277e4eb1 100644
--- a/src/test/run-pass/const-vec-syntax.rs
+++ b/src/test/run-pass/const-vec-syntax.rs
@@ -12,5 +12,5 @@ fn f(_: &[int]) {}
pub fn main() {
let v = [ 1, 2, 3 ];
- f(v);
+ f(&v);
}
diff --git a/src/test/run-pass/const-vecs-and-slices.rs b/src/test/run-pass/const-vecs-and-slices.rs
index c61f26e0bb6b3..1a2a3e36e8746 100644
--- a/src/test/run-pass/const-vecs-and-slices.rs
+++ b/src/test/run-pass/const-vecs-and-slices.rs
@@ -11,7 +11,7 @@
static x : [int, ..4] = [1,2,3,4];
static y : &'static [int] = &[1,2,3,4];
static z : &'static [int, ..4] = &[1,2,3,4];
-static zz : &'static [int] = [1,2,3,4];
+static zz : &'static [int] = &[1,2,3,4];
pub fn main() {
println!("{}", x[1]);
diff --git a/src/test/run-pass/deref-rc.rs b/src/test/run-pass/deref-rc.rs
index 03697875d5646..bc2fa3ec4e2c6 100644
--- a/src/test/run-pass/deref-rc.rs
+++ b/src/test/run-pass/deref-rc.rs
@@ -12,5 +12,5 @@ use std::rc::Rc;
fn main() {
let x = Rc::new([1i, 2, 3, 4]);
- assert!(*x == [1, 2, 3, 4]);
+ assert!(*x == &[1, 2, 3, 4]);
}
diff --git a/src/test/run-pass/issue-11205.rs b/src/test/run-pass/issue-11205.rs
index c2c291c0becc8..89224e1fb12c4 100644
--- a/src/test/run-pass/issue-11205.rs
+++ b/src/test/run-pass/issue-11205.rs
@@ -72,11 +72,11 @@ fn main() {
let r = &1i;
let r: [&Foo, ..2] = [r, ..2];
let _n = F {
- t: r
+ t: &r
};
let x: [&Foo, ..2] = [&1i, &2i];
let _n = F {
- t: x
+ t: &x
};
struct M<'a> {
@@ -87,6 +87,6 @@ fn main() {
};
let x: [Box, ..2] = [box 1i, box 2i];
let _n = M {
- t: x
+ t: &x
};
}
diff --git a/src/test/run-pass/issue-12028.rs b/src/test/run-pass/issue-12028.rs
index 4d64103e50224..dbfa330d33d9e 100644
--- a/src/test/run-pass/issue-12028.rs
+++ b/src/test/run-pass/issue-12028.rs
@@ -37,7 +37,7 @@ impl> Hash for u8 {
impl> StreamHash for u8 {
fn input_stream(&self, stream: &mut S) {
- stream.input([*self]);
+ stream.input(&[*self]);
}
}
diff --git a/src/test/run-pass/issue-14940.rs b/src/test/run-pass/issue-14940.rs
index acadc81df6306..cef09af1fcff2 100644
--- a/src/test/run-pass/issue-14940.rs
+++ b/src/test/run-pass/issue-14940.rs
@@ -15,7 +15,7 @@ fn main() {
let args = os::args();
if args.len() > 1 {
let mut out = stdio::stdout();
- out.write(['a' as u8, ..128 * 1024]).unwrap();
+ out.write(&['a' as u8, ..128 * 1024]).unwrap();
} else {
let out = Command::new(args[0].as_slice()).arg("child").output();
let out = out.unwrap();
diff --git a/src/test/run-pass/issue-15080.rs b/src/test/run-pass/issue-15080.rs
index 1709321a71cfd..c2c370ae504c7 100644
--- a/src/test/run-pass/issue-15080.rs
+++ b/src/test/run-pass/issue-15080.rs
@@ -26,5 +26,5 @@ fn main() {
break
}
}
- assert!(result.as_slice() == [2, 4]);
+ assert!(result.as_slice() == &[2, 4]);
}
diff --git a/src/test/run-pass/issue-2904.rs b/src/test/run-pass/issue-2904.rs
index 04866c56913b1..f4206312edb06 100644
--- a/src/test/run-pass/issue-2904.rs
+++ b/src/test/run-pass/issue-2904.rs
@@ -63,7 +63,7 @@ fn read_board_grid(mut input: rdr)
let mut input: &mut io::Reader = &mut input;
let mut grid = Vec::new();
let mut line = [0, ..10];
- input.read(line);
+ input.read(&mut line);
let mut row = Vec::new();
for c in line.iter() {
row.push(square_from_char(*c as char))
diff --git a/src/test/run-pass/issue-7784.rs b/src/test/run-pass/issue-7784.rs
index 666847517efde..f0310cd8df3c8 100644
--- a/src/test/run-pass/issue-7784.rs
+++ b/src/test/run-pass/issue-7784.rs
@@ -33,6 +33,6 @@ fn main() {
let out = bar("baz", "foo");
let [a, xs.., d] = out;
assert_eq!(a, "baz");
- assert!(xs == ["foo", "foo"]);
+ assert!(xs == &["foo", "foo"]);
assert_eq!(d, "baz");
}
diff --git a/src/test/run-pass/issue-8398.rs b/src/test/run-pass/issue-8398.rs
index 0884db633264e..185d75743a41e 100644
--- a/src/test/run-pass/issue-8398.rs
+++ b/src/test/run-pass/issue-8398.rs
@@ -11,7 +11,7 @@
use std::io;
fn foo(a: &mut io::Writer) {
- a.write([]).unwrap();
+ a.write(&[]).unwrap();
}
pub fn main(){}
diff --git a/src/test/run-pass/issue-9249.rs b/src/test/run-pass/issue-9249.rs
index 013aef5722359..2795fd59c0c0d 100644
--- a/src/test/run-pass/issue-9249.rs
+++ b/src/test/run-pass/issue-9249.rs
@@ -8,5 +8,5 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-static DATA:&'static [&'static str] = ["my string"];
+static DATA:&'static [&'static str] = &["my string"];
fn main() { }
diff --git a/src/test/run-pass/packed-struct-generic-layout.rs b/src/test/run-pass/packed-struct-generic-layout.rs
index 999e4aeeb5977..fbff5962dc4eb 100644
--- a/src/test/run-pass/packed-struct-generic-layout.rs
+++ b/src/test/run-pass/packed-struct-generic-layout.rs
@@ -23,15 +23,15 @@ pub fn main() {
let transd : [u8, .. 9] = mem::transmute(s);
// Don't worry about endianness, the numbers are palindromic.
assert!(transd ==
- [0xff, 0xff, 0xff, 0xff,
- 1,
- 0xaa, 0xaa, 0xaa, 0xaa]);
+ &[0xff, 0xff, 0xff, 0xff,
+ 1,
+ 0xaa, 0xaa, 0xaa, 0xaa]);
let s = S { a: 1u8, b: 2u8, c: 0b10000001_10000001 as i16};
let transd : [u8, .. 4] = mem::transmute(s);
// Again, no endianness problems.
assert!(transd ==
- [1, 2, 0b10000001, 0b10000001]);
+ &[1, 2, 0b10000001, 0b10000001]);
}
}
diff --git a/src/test/run-pass/packed-struct-layout.rs b/src/test/run-pass/packed-struct-layout.rs
index b4fbf0820cd46..472833da58be9 100644
--- a/src/test/run-pass/packed-struct-layout.rs
+++ b/src/test/run-pass/packed-struct-layout.rs
@@ -26,11 +26,11 @@ pub fn main() {
unsafe {
let s4 = S4 { a: 1, b: [2,3,4] };
let transd : [u8, .. 4] = mem::transmute(s4);
- assert!(transd == [1, 2, 3, 4]);
+ assert!(transd == &[1, 2, 3, 4]);
let s5 = S5 { a: 1, b: 0xff_00_00_ff };
let transd : [u8, .. 5] = mem::transmute(s5);
// Don't worry about endianness, the u32 is palindromic.
- assert!(transd == [1, 0xff, 0, 0, 0xff]);
+ assert!(transd == &[1, 0xff, 0, 0, 0xff]);
}
}
diff --git a/src/test/run-pass/packed-tuple-struct-layout.rs b/src/test/run-pass/packed-tuple-struct-layout.rs
index 5fb43503ccb26..af8e73eb2a594 100644
--- a/src/test/run-pass/packed-tuple-struct-layout.rs
+++ b/src/test/run-pass/packed-tuple-struct-layout.rs
@@ -20,11 +20,11 @@ pub fn main() {
unsafe {
let s4 = S4(1, [2,3,4]);
let transd : [u8, .. 4] = mem::transmute(s4);
- assert!(transd == [1, 2, 3, 4]);
+ assert!(transd == &[1, 2, 3, 4]);
let s5 = S5(1, 0xff_00_00_ff);
let transd : [u8, .. 5] = mem::transmute(s5);
// Don't worry about endianness, the u32 is palindromic.
- assert!(transd == [1, 0xff, 0, 0, 0xff]);
+ assert!(transd == &[1, 0xff, 0, 0, 0xff]);
}
}
diff --git a/src/test/run-pass/regions-borrow-evec-fixed.rs b/src/test/run-pass/regions-borrow-evec-fixed.rs
index 9022ff92c8f2e..0264e64f70d2a 100644
--- a/src/test/run-pass/regions-borrow-evec-fixed.rs
+++ b/src/test/run-pass/regions-borrow-evec-fixed.rs
@@ -13,6 +13,6 @@ fn foo(x: &[int]) -> int {
}
pub fn main() {
- let p = [1,2,3,4,5];
+ let p = &[1,2,3,4,5];
assert_eq!(foo(p), 1);
}
diff --git a/src/test/run-pass/rename-directory.rs b/src/test/run-pass/rename-directory.rs
index 43a62524717db..b5cee20232b63 100644
--- a/src/test/run-pass/rename-directory.rs
+++ b/src/test/run-pass/rename-directory.rs
@@ -25,7 +25,7 @@ fn rename_directory() {
let tmpdir = TempDir::new("rename_directory").ok().expect("rename_directory failed");
let tmpdir = tmpdir.path();
- let old_path = tmpdir.join_many(["foo", "bar", "baz"]);
+ let old_path = tmpdir.join_many(&["foo", "bar", "baz"]);
fs::mkdir_recursive(&old_path, io::USER_RWX);
let test_file = &old_path.join("temp.txt");
@@ -46,11 +46,11 @@ fn rename_directory() {
});
assert_eq!(libc::fclose(ostream), (0u as libc::c_int));
- let new_path = tmpdir.join_many(["quux", "blat"]);
+ let new_path = tmpdir.join_many(&["quux", "blat"]);
fs::mkdir_recursive(&new_path, io::USER_RWX);
fs::rename(&old_path, &new_path.join("newdir"));
assert!(new_path.join("newdir").is_dir());
- assert!(new_path.join_many(["newdir", "temp.txt"]).exists());
+ assert!(new_path.join_many(&["newdir", "temp.txt"]).exists());
}
}
diff --git a/src/test/run-pass/repeat-expr-in-static.rs b/src/test/run-pass/repeat-expr-in-static.rs
index 9955673bb0b12..4c3f64774dfbf 100644
--- a/src/test/run-pass/repeat-expr-in-static.rs
+++ b/src/test/run-pass/repeat-expr-in-static.rs
@@ -12,5 +12,5 @@ static FOO: [int, ..4] = [32, ..4];
static BAR: [int, ..4] = [32, 32, 32, 32];
pub fn main() {
- assert!(FOO == BAR);
+ assert!(FOO == &BAR);
}
diff --git a/src/test/run-pass/sigpipe-should-be-ignored.rs b/src/test/run-pass/sigpipe-should-be-ignored.rs
index 8c68ef173a5e7..1804dd2e1358a 100644
--- a/src/test/run-pass/sigpipe-should-be-ignored.rs
+++ b/src/test/run-pass/sigpipe-should-be-ignored.rs
@@ -21,7 +21,7 @@ fn test() {
let mut writer = PipeStream::open(writer);
drop(reader);
- let _ = writer.write([1]);
+ let _ = writer.write(&[1]);
}
fn main() {
diff --git a/src/test/run-pass/stat.rs b/src/test/run-pass/stat.rs
index 67728e6c8dd44..250eafa2f49d5 100644
--- a/src/test/run-pass/stat.rs
+++ b/src/test/run-pass/stat.rs
@@ -21,7 +21,7 @@ pub fn main() {
Ok(f) => {
let mut f = f;
for _ in range(0u, 1000) {
- f.write([0]);
+ f.write(&[0]);
}
}
}
diff --git a/src/test/run-pass/utf8_chars.rs b/src/test/run-pass/utf8_chars.rs
index 30f6f4b464e4c..d343e485b2481 100644
--- a/src/test/run-pass/utf8_chars.rs
+++ b/src/test/run-pass/utf8_chars.rs
@@ -27,17 +27,17 @@ pub fn main() {
assert!((str::is_utf8(s.as_bytes())));
// invalid prefix
- assert!((!str::is_utf8([0x80_u8])));
+ assert!((!str::is_utf8(&[0x80_u8])));
// invalid 2 byte prefix
- assert!((!str::is_utf8([0xc0_u8])));
- assert!((!str::is_utf8([0xc0_u8, 0x10_u8])));
+ assert!((!str::is_utf8(&[0xc0_u8])));
+ assert!((!str::is_utf8(&[0xc0_u8, 0x10_u8])));
// invalid 3 byte prefix
- assert!((!str::is_utf8([0xe0_u8])));
- assert!((!str::is_utf8([0xe0_u8, 0x10_u8])));
- assert!((!str::is_utf8([0xe0_u8, 0xff_u8, 0x10_u8])));
+ assert!((!str::is_utf8(&[0xe0_u8])));
+ assert!((!str::is_utf8(&[0xe0_u8, 0x10_u8])));
+ assert!((!str::is_utf8(&[0xe0_u8, 0xff_u8, 0x10_u8])));
// invalid 4 byte prefix
- assert!((!str::is_utf8([0xf0_u8])));
- assert!((!str::is_utf8([0xf0_u8, 0x10_u8])));
- assert!((!str::is_utf8([0xf0_u8, 0xff_u8, 0x10_u8])));
- assert!((!str::is_utf8([0xf0_u8, 0xff_u8, 0xff_u8, 0x10_u8])));
+ assert!((!str::is_utf8(&[0xf0_u8])));
+ assert!((!str::is_utf8(&[0xf0_u8, 0x10_u8])));
+ assert!((!str::is_utf8(&[0xf0_u8, 0xff_u8, 0x10_u8])));
+ assert!((!str::is_utf8(&[0xf0_u8, 0xff_u8, 0xff_u8, 0x10_u8])));
}
diff --git a/src/test/run-pass/vec-dst.rs b/src/test/run-pass/vec-dst.rs
index 11b58948e0535..d8bf0a5c627f6 100644
--- a/src/test/run-pass/vec-dst.rs
+++ b/src/test/run-pass/vec-dst.rs
@@ -8,17 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-fn sub_expr() {
- // Test for a &[T] => &&[T] coercion in sub-expression position
- // (surprisingly, this can cause errors which are not caused by either of:
- // `let x = vec.slice_mut(0, 2);`
- // `foo(vec.slice_mut(0, 2));` ).
- let mut vec: Vec = vec!(1, 2, 3, 4);
- let b: &mut [int] = [1, 2];
- assert!(vec.slice_mut(0, 2) == b);
-}
-
-fn index() {
+pub fn main() {
// Tests for indexing into box/& [T, ..n]
let x: [int, ..3] = [1, 2, 3];
let mut x: Box<[int, ..3]> = box x;
@@ -40,8 +30,3 @@ fn index() {
assert!(x[1] == 45);
assert!(x[2] == 3);
}
-
-pub fn main() {
- sub_expr();
- index();
-}
diff --git a/src/test/run-pass/vec-matching-autoslice.rs b/src/test/run-pass/vec-matching-autoslice.rs
index 6476f734ae650..9052df9fdb7f9 100644
--- a/src/test/run-pass/vec-matching-autoslice.rs
+++ b/src/test/run-pass/vec-matching-autoslice.rs
@@ -13,7 +13,7 @@ pub fn main() {
match x {
[2, _, _] => panic!(),
[1, a, b] => {
- assert!([a, b] == [2, 3]);
+ assert!([a, b] == &[2, 3]);
}
[_, _, _] => panic!(),
}
diff --git a/src/test/run-pass/vec-matching-fold.rs b/src/test/run-pass/vec-matching-fold.rs
index 63914a8df31cd..cc2061c3cf385 100644
--- a/src/test/run-pass/vec-matching-fold.rs
+++ b/src/test/run-pass/vec-matching-fold.rs
@@ -33,7 +33,7 @@ fn foldr(values: &[T],
}
pub fn main() {
- let x = [1i, 2, 3, 4, 5];
+ let x = &[1i, 2, 3, 4, 5];
let product = foldl(x, 1i, |a, b| a * *b);
assert_eq!(product, 120);