5 clippy::blacklisted_name,
7 clippy::redundant_clone,
21 let mut bar = Bar { a: 1, b: 2 };
27 let mut baz = vec![bar.clone(), bar.clone()];
43 let foo = &mut [1, 2];
51 fn unswappable_slice() {
52 let foo = &mut [vec![1, 2], vec![3, 4]];
54 foo[0][1] = foo[1][0];
57 // swap(foo[0][1], foo[1][0]) would fail
61 let mut foo = vec![1, 2];
69 fn xor_swap_locals() {
70 // This is an xor-based swap of local variables.
79 // This is an xor-based swap of fields in a struct.
80 let mut bar = Bar { a: 0, b: 1 };
87 // This is an xor-based swap of a slice
88 let foo = &mut [1, 2];
95 // This is a sequence of xor-assignment statements that doesn't result in a swap.
105 fn xor_unswappable_slice() {
106 let foo = &mut [vec![1, 2], vec![3, 4]];
107 foo[0][1] ^= foo[1][0];
108 foo[1][0] ^= foo[0][0];
109 foo[0][1] ^= foo[1][0];
123 xor_unswappable_slice();