diff --git a/src/stv/mod.rs b/src/stv/mod.rs index 056fe46..ee8bca9 100644 --- a/src/stv/mod.rs +++ b/src/stv/mod.rs @@ -995,7 +995,8 @@ fn can_bulk_elect(state: &CountState, num_to_exclude: usize) -> bo let num_hopefuls = state.election.candidates.iter() .filter(|c| { let cc = &state.candidates[c]; - return cc.state == CandidateState::Hopeful || cc.state == CandidateState::Guarded; + // Include doomed candidates here as these are included in num_to_exclude and so will later be subtracted + return cc.state == CandidateState::Hopeful || cc.state == CandidateState::Guarded || cc.state == CandidateState::Doomed; }) .count();