test: Fix tests.

This commit is contained in:
Patrick Walton 2013-04-26 14:04:39 -07:00
parent f30f54e9d0
commit 876483dcf4
31 changed files with 114 additions and 190 deletions

View file

@ -1,15 +0,0 @@
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// error-pattern: mismatched types
fn f(&&_x: int) {}
fn g(_a: &fn(+v: int)) {}
fn main() { g(f); }

View file

@ -1,22 +0,0 @@
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
fn take(_x: ~int) { }
fn from_by_ref_arg(&&x: ~int) {
take(x); //~ ERROR illegal move from argument `x`, which is not copy or move mode
}
fn from_copy_arg(+x: ~int) {
take(x);
}
fn main() {
}

View file

@ -1,21 +0,0 @@
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// In this test, the mode gets inferred to ++ due to the apply_int(),
// but then we get a failure in the generic apply().
fn apply<A>(f: &fn(A) -> A, a: A) -> A { f(a) }
fn apply_int(f: &fn(int) -> int, a: int) -> int { f(a) }
fn main() {
let f = {|i| i};
assert!(apply_int(f, 2) == 2);
assert!(apply(f, 2) == 2); //~ ERROR expected argument mode &&
}

View file

@ -1,35 +0,0 @@
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// Note: it would be nice to give fewer warnings in these cases.
fn mutate_by_mut_ref(x: &mut uint) {
*x = 0;
}
fn mutate_by_ref(&&x: uint) {
//~^ WARNING unused variable: `x`
x = 0; //~ ERROR assigning to argument
}
fn mutate_by_copy(+x: uint) {
//~^ WARNING unused variable: `x`
x = 0; //~ ERROR assigning to argument
//~^ WARNING value assigned to `x` is never read
}
fn mutate_by_move(+x: uint) {
//~^ WARNING unused variable: `x`
x = 0; //~ ERROR assigning to argument
//~^ WARNING value assigned to `x` is never read
}
fn main() {
}