#![allow(dead_code, deprecated, unused_variables, unused_mut)] fn main() { let mut v = [-5i32, 4, 2, -3, 1]; let (before, median, after) = v.select_nth_unstable_by(2, |a, b| b.cmp(a)); assert!(before == [4, 2] || before == [2, 4]); assert_eq!(median, & mut 1); assert!(after == [- 3, - 5] || after == [- 5, - 3]); assert!( v == [2, 4, 1, - 5, - 3] || v == [2, 4, 1, - 3, - 5] || v == [4, 2, 1, - 5, - 3] || v == [4, 2, 1, - 3, - 5] ); }