// 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); | |
} |