From ae0ca9c64630082a4d566bcd44ca18323413fcd1 Mon Sep 17 00:00:00 2001 From: Tim Chevalier Date: Thu, 10 Jan 2013 14:37:59 -0800 Subject: [PATCH] Add working test for issue 3935 and xfailed test for issue 3888 --- src/test/run-pass/issue-3888.rs | 40 +++++++++++++++++++++++++++++++++ src/test/run-pass/issue-3935.rs | 21 +++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 src/test/run-pass/issue-3888.rs create mode 100644 src/test/run-pass/issue-3935.rs diff --git a/src/test/run-pass/issue-3888.rs b/src/test/run-pass/issue-3888.rs new file mode 100644 index 000000000000..393659f01ca4 --- /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 or the MIT license +// , at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// xfail-test + +fn vec_peek(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 000000000000..2f2401844792 --- /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 or the MIT license +// , 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; +}