diff --git a/src/test/compile-fail/issue-13033.rs b/src/test/compile-fail/issue-13033.rs new file mode 100644 index 00000000000..43cf70e5bc3 --- /dev/null +++ b/src/test/compile-fail/issue-13033.rs @@ -0,0 +1,22 @@ +// Copyright 2014 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +trait Foo { + fn bar(&mut self, other: &mut Foo); +} + +struct Baz; + +impl Foo for Baz { + fn bar(&mut self, other: &Foo) {} + //~^ ERROR method `bar` has an incompatible type for trait: values differ in mutability [E0053] +} + +fn main() {} diff --git a/src/test/compile-fail/issue-15094.rs b/src/test/compile-fail/issue-15094.rs new file mode 100644 index 00000000000..2540c7edb0c --- /dev/null +++ b/src/test/compile-fail/issue-15094.rs @@ -0,0 +1,33 @@ +// Copyright 2014 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +#![feature(overloaded_calls)] + +use std::{fmt, ops}; + +struct Shower { + x: T +} + +impl ops::Fn<(), ()> for Shower { + fn call(&self, _args: ()) { +//~^ ERROR `call` has an incompatible type for trait: expected "rust-call" fn but found "Rust" fn + println!("{}", self.x); + } +} + +fn make_shower(x: T) -> Shower { + Shower { x: x } +} + +pub fn main() { + let show3 = make_shower(3i); + show3(); +} diff --git a/src/test/compile-fail/issue-8761.rs b/src/test/compile-fail/issue-8761.rs new file mode 100644 index 00000000000..183965f099c --- /dev/null +++ b/src/test/compile-fail/issue-8761.rs @@ -0,0 +1,18 @@ +// Copyright 2014 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +enum Foo { + A = 1i64, + //~^ ERROR mismatched types: expected `int` but found `i64` + B = 2u8 + //~^ ERROR mismatched types: expected `int` but found `u8` +} + +fn main() {} diff --git a/src/test/run-pass/issue-16452.rs b/src/test/run-pass/issue-16452.rs new file mode 100644 index 00000000000..da480207490 --- /dev/null +++ b/src/test/run-pass/issue-16452.rs @@ -0,0 +1,17 @@ +// Copyright 2014 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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +fn main() { + if true { return } + match () { + () => { static MAGIC: uint = 0; } + } +} +