| // https://github.com/rust-lang/rust/issues/6153 | |
| //@ run-pass | |
| fn swap<F>(f: F) -> Vec<isize> where F: FnOnce(Vec<isize>) -> Vec<isize> { | |
| let x = vec![1, 2, 3]; | |
| f(x) | |
| } | |
| pub fn main() { | |
| let v = swap(|mut x| { x.push(4); x }); | |
| let w = swap(|mut x| { x.push(4); x }); | |
| assert_eq!(v, w); | |
| } |