chore: silence clippy warnings
- pareto/crowding.rs: rewrite the inner loop to iterate per-objective
via index_axis-style indexing on `oriented` rather than naming an
unused loop variable `k`.
- operators/{binary,permutation}.rs tests: pass parents via
`std::slice::from_ref` instead of `&[parent.clone()]` to avoid the
cloned_ref_to_slice_refs lint.
Pure cleanup — no behavior change, all 83 unit tests + 2 doctests still
pass.
This commit is contained in:
@@ -45,7 +45,7 @@ mod tests {
|
|||||||
let mut m = BitFlipMutation { probability: 0.0 };
|
let mut m = BitFlipMutation { probability: 0.0 };
|
||||||
let mut rng = rng_from_seed(0);
|
let mut rng = rng_from_seed(0);
|
||||||
let parent = vec![false, true, false, true, true];
|
let parent = vec![false, true, false, true, true];
|
||||||
let children = m.vary(&[parent.clone()], &mut rng);
|
let children = m.vary(std::slice::from_ref(&parent), &mut rng);
|
||||||
assert_eq!(children.len(), 1);
|
assert_eq!(children.len(), 1);
|
||||||
assert_eq!(children[0], parent);
|
assert_eq!(children[0], parent);
|
||||||
}
|
}
|
||||||
@@ -55,7 +55,7 @@ mod tests {
|
|||||||
let mut m = BitFlipMutation { probability: 1.0 };
|
let mut m = BitFlipMutation { probability: 1.0 };
|
||||||
let mut rng = rng_from_seed(0);
|
let mut rng = rng_from_seed(0);
|
||||||
let parent = vec![false, true, false, true, true];
|
let parent = vec![false, true, false, true, true];
|
||||||
let children = m.vary(&[parent.clone()], &mut rng);
|
let children = m.vary(std::slice::from_ref(&parent), &mut rng);
|
||||||
let expected: Vec<bool> = parent.iter().map(|b| !b).collect();
|
let expected: Vec<bool> = parent.iter().map(|b| !b).collect();
|
||||||
assert_eq!(children[0], expected);
|
assert_eq!(children[0], expected);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ mod tests {
|
|||||||
let mut m = SwapMutation;
|
let mut m = SwapMutation;
|
||||||
let mut rng = rng_from_seed(11);
|
let mut rng = rng_from_seed(11);
|
||||||
let parent = vec![0_usize, 1, 2, 3, 4];
|
let parent = vec![0_usize, 1, 2, 3, 4];
|
||||||
let children = m.vary(&[parent.clone()], &mut rng);
|
let children = m.vary(std::slice::from_ref(&parent), &mut rng);
|
||||||
assert_eq!(children.len(), 1);
|
assert_eq!(children.len(), 1);
|
||||||
assert_eq!(sorted(children[0].clone()), sorted(parent));
|
assert_eq!(sorted(children[0].clone()), sorted(parent));
|
||||||
}
|
}
|
||||||
@@ -56,7 +56,7 @@ mod tests {
|
|||||||
let mut m = SwapMutation;
|
let mut m = SwapMutation;
|
||||||
let mut rng = rng_from_seed(0);
|
let mut rng = rng_from_seed(0);
|
||||||
let parent = vec![42_usize];
|
let parent = vec![42_usize];
|
||||||
let children = m.vary(&[parent.clone()], &mut rng);
|
let children = m.vary(std::slice::from_ref(&parent), &mut rng);
|
||||||
assert_eq!(children[0], parent);
|
assert_eq!(children[0], parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -65,7 +65,7 @@ mod tests {
|
|||||||
let mut m = SwapMutation;
|
let mut m = SwapMutation;
|
||||||
let mut rng = rng_from_seed(0);
|
let mut rng = rng_from_seed(0);
|
||||||
let parent = vec![1_usize, 2];
|
let parent = vec![1_usize, 2];
|
||||||
let children = m.vary(&[parent.clone()], &mut rng);
|
let children = m.vary(std::slice::from_ref(&parent), &mut rng);
|
||||||
assert_eq!(children[0], vec![2, 1]);
|
assert_eq!(children[0], vec![2, 1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,6 +33,7 @@ pub fn crowding_distance<D>(
|
|||||||
.map(|&idx| objectives.as_minimization(&population[idx].evaluation.objectives))
|
.map(|&idx| objectives.as_minimization(&population[idx].evaluation.objectives))
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
|
#[allow(clippy::needless_range_loop)] // `k` indexes into nested vectors below.
|
||||||
for k in 0..m {
|
for k in 0..m {
|
||||||
// Sort indices into `front` by objective k.
|
// Sort indices into `front` by objective k.
|
||||||
let mut order: Vec<usize> = (0..n).collect();
|
let mut order: Vec<usize> = (0..n).collect();
|
||||||
|
|||||||
Reference in New Issue
Block a user