]>
git.proxmox.com Git - rustc.git/blob - src/test/run-pass/issue-7784.rs
1 // Copyright 2014 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.
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.
12 #![feature(advanced_slice_patterns)]
13 #![feature(slice_patterns)]
17 fn foo
<T
: Add
<Output
=T
> + Clone
>([x
, y
, z
]: [T
; 3]) -> (T
, T
, T
) {
18 (x
.clone(), x
.clone() + y
.clone(), x
+ y
+ z
)
20 fn bar(a
: &'
static str, b
: &'
static str) -> [&'
static str; 4] {
25 assert_eq
!(foo([1, 2, 3]), (1, 3, 6));
27 let [a
, b
, c
, d
] = bar("foo", "bar");
33 let [a
, _
, _
, d
] = bar("baz", "foo");
37 let out
= bar("baz", "foo");
38 let [a
, xs
.., d
] = out
;
40 assert_eq
!(xs
, ["foo", "foo"]);