Skip to content

Commit ae0ca9c

Browse files
committed
Add working test for issue 3935 and xfailed test for issue 3888
1 parent e0850d1 commit ae0ca9c

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

src/test/run-pass/issue-3888.rs

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
// xfail-test
12+
13+
fn vec_peek<T>(v: &r/[T]) -> Option< (&r/T, &r/[T]) > {
14+
if v.len() == 0 {
15+
None
16+
} else {
17+
let head = &v[0];
18+
let tail = v.view(1, v.len());
19+
Some( (head, tail) )
20+
}
21+
}
22+
23+
24+
fn test_peek_empty_stack() {
25+
let v : &[int] = &[];
26+
assert (None == vec_peek(v));
27+
}
28+
29+
fn test_peek_empty_unique() {
30+
let v : ~[int] = ~[];
31+
assert (None == vec_peek(v));
32+
}
33+
34+
fn test_peek_empty_managed() {
35+
let v : @[int] = @[];
36+
assert (None == vec_peek(v));
37+
}
38+
39+
40+
fn main() {}

src/test/run-pass/issue-3935.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2+
// file at the top-level directory of this distribution and at
3+
// http://rust-lang.org/COPYRIGHT.
4+
//
5+
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+
// option. This file may not be copied, modified, or distributed
9+
// except according to those terms.
10+
11+
#[deriving_eq]
12+
struct Bike {
13+
name: ~str,
14+
}
15+
16+
pub fn main() {
17+
let town_bike = Bike { name: ~"schwinn" };
18+
let my_bike = Bike { name: ~"surly" };
19+
20+
assert town_bike != my_bike;
21+
}

0 commit comments

Comments
 (0)