Skip to content

Commit 728d26c

Browse files
committed
Add a test for unsized tuple impls.
1 parent 01b6c94 commit 728d26c

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// Copyright 2017 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+
#![feature(unsized_tuple_coercion)]
12+
13+
use std::collections::HashSet;
14+
15+
fn main() {
16+
let x : &(i32, i32, [i32]) = &(0, 1, [2, 3]);
17+
let y : &(i32, i32, [i32]) = &(0, 1, [2, 3, 4]);
18+
let mut a = [y, x];
19+
a.sort();
20+
assert_eq!(a, [x, y]);
21+
22+
assert_eq!(&format!("{:?}", a), "[(0, 1, [2, 3]), (0, 1, [2, 3, 4])]");
23+
24+
let mut h = HashSet::new();
25+
h.insert(x);
26+
h.insert(y);
27+
assert!(h.contains(x));
28+
assert!(h.contains(y));
29+
}

0 commit comments

Comments
 (0)