]> git.lizzy.rs Git - rust.git/blob - tests/ui/sort_by_key.fixed
Detect also when works
[rust.git] / tests / ui / sort_by_key.fixed
1 // run-rustfix
2 #![warn(clippy::sort_by_key)]
3
4 use std::cmp::Reverse;
5
6 fn id(x: isize) -> isize {
7     x
8 }
9
10 fn main() {
11     let mut vec: Vec<isize> = vec![3, 6, 1, 2, 5];
12     // Forward examples
13     vec.sort();
14     vec.sort_by_key(|&a| (a + 5).abs());
15     vec.sort_by_key(|&a| id(-a));
16     // Reverse examples
17     vec.sort_by_key(|&b| Reverse(b));
18     vec.sort_by_key(|&b| Reverse((b + 5).abs()));
19     vec.sort_by_key(|&b| Reverse(id(-b)));
20     // Negative examples (shouldn't be changed)
21     let c = &7;
22     vec.sort_by(|a, b| (b - a).cmp(&(a - b)));
23     vec.sort_by(|_, b| b.cmp(&5));
24     vec.sort_by(|_, b| b.cmp(c));
25     vec.sort_by(|a, _| a.cmp(c));
26 }