about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorTim Chevalier <chevalier@alum.wellesley.edu>2013-01-10 14:37:59 -0800
committerTim Chevalier <chevalier@alum.wellesley.edu>2013-01-10 14:38:37 -0800
commitae0ca9c64630082a4d566bcd44ca18323413fcd1 (patch)
treecbec60c7c79552e245cd792adfd76fa9c92362b9 /src/test
parente0850d11ec4f577bf164daa0859ffc14ee07ddba (diff)
downloadrust-ae0ca9c64630082a4d566bcd44ca18323413fcd1.tar.gz
rust-ae0ca9c64630082a4d566bcd44ca18323413fcd1.zip
Add working test for issue 3935 and xfailed test for issue 3888
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/issue-3888.rs40
-rw-r--r--src/test/run-pass/issue-3935.rs21
2 files changed, 61 insertions, 0 deletions
diff --git a/src/test/run-pass/issue-3888.rs b/src/test/run-pass/issue-3888.rs
new file mode 100644
index 00000000000..393659f01ca
--- /dev/null
+++ b/src/test/run-pass/issue-3888.rs
@@ -0,0 +1,40 @@
+// 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.
+
+// xfail-test
+
+fn vec_peek<T>(v: &r/[T]) -> Option< (&r/T, &r/[T]) > {
+    if v.len() == 0 {
+        None
+    } else {
+        let head = &v[0];
+        let tail = v.view(1, v.len());
+        Some( (head, tail) )
+    }
+}
+
+
+fn test_peek_empty_stack() {
+    let v : &[int] = &[];
+    assert (None == vec_peek(v));
+}
+
+fn test_peek_empty_unique() {
+    let v : ~[int] = ~[];
+    assert (None == vec_peek(v));
+}
+
+fn test_peek_empty_managed() {
+    let v : @[int] = @[];
+    assert (None == vec_peek(v));
+}
+
+
+fn main() {}
diff --git a/src/test/run-pass/issue-3935.rs b/src/test/run-pass/issue-3935.rs
new file mode 100644
index 00000000000..2f240184479
--- /dev/null
+++ b/src/test/run-pass/issue-3935.rs
@@ -0,0 +1,21 @@
+// 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.
+
+#[deriving_eq]
+struct Bike {
+    name: ~str,
+}
+
+pub fn main() {
+    let town_bike = Bike { name: ~"schwinn" };
+    let my_bike = Bike { name: ~"surly" };
+
+    assert town_bike != my_bike;
+}