2018-08-30 14:18:55 +02:00
|
|
|
// run-pass
|
2014-03-05 15:28:08 -08:00
|
|
|
|
2015-03-22 13:13:15 -07:00
|
|
|
|
2015-03-25 17:06:52 -07:00
|
|
|
fn swap<F>(f: F) -> Vec<isize> where F: FnOnce(Vec<isize>) -> Vec<isize> {
|
2016-10-29 22:54:04 +01:00
|
|
|
let x = vec![1, 2, 3];
|
2013-07-17 16:58:43 -07:00
|
|
|
f(x)
|
|
|
|
}
|
|
|
|
|
2013-09-25 00:43:37 -07:00
|
|
|
pub fn main() {
|
2013-07-17 16:58:43 -07:00
|
|
|
let v = swap(|mut x| { x.push(4); x });
|
2013-11-21 17:23:21 -08:00
|
|
|
let w = swap(|mut x| { x.push(4); x });
|
2013-07-17 16:58:43 -07:00
|
|
|
assert_eq!(v, w);
|
|
|
|
}
|