about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/test/compile-fail/issue-2478.rs2
-rw-r--r--src/test/run-pass/issue-3290.rs16
-rw-r--r--src/test/run-pass/issue-3796.rs19
3 files changed, 36 insertions, 1 deletions
diff --git a/src/test/compile-fail/issue-2478.rs b/src/test/compile-fail/issue-2478.rs
index d5663e57f4b..c6793e71ad9 100644
--- a/src/test/compile-fail/issue-2478.rs
+++ b/src/test/compile-fail/issue-2478.rs
@@ -9,7 +9,7 @@
 // except according to those terms.
 
 // xfail-test
-fn foo() -> &'a int {
+fn foo<'a>() -> &'a int {  //~ ERROR unconstrained region
     return &x;
 }
 static x: int = 5;
diff --git a/src/test/run-pass/issue-3290.rs b/src/test/run-pass/issue-3290.rs
new file mode 100644
index 00000000000..3f8ce032d0d
--- /dev/null
+++ b/src/test/run-pass/issue-3290.rs
@@ -0,0 +1,16 @@
+// Copyright 2013 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.
+
+// xfail-test
+fn main() {
+   let mut x = ~3;
+   x = x;
+   assert_eq!(*x, 3);
+}
diff --git a/src/test/run-pass/issue-3796.rs b/src/test/run-pass/issue-3796.rs
new file mode 100644
index 00000000000..0091c096255
--- /dev/null
+++ b/src/test/run-pass/issue-3796.rs
@@ -0,0 +1,19 @@
+// Copyright 2013 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.
+
+// xfail-test
+#[deny(dead_assignment)];
+fn main() {
+    let mut x = 1;
+    let f: &fn() -> int = || { x + 20 };
+    assert_eq!(f(), 21);
+    x += 1;
+    assert_eq!(f(), 22);
+}