}
fn cards_by_player(&self) -> impl Iterator<Item = (Username, Card)> + '_ {
- self.hands.iter().map(|(username, hand)| hand.iter().map(move |card| (*username, *card))).flatten()
+ self.hands.iter().flat_map(|(username, hand)| hand.iter().map(move |card| (*username, *card)))
}
fn all_hands_dealt(&self) -> bool {
}
Action::RegisterInterest { index, mut client_interests } => {
debug!("Action::RegisterInterest{{ client_interests: {:?}, index: {:?} }}", client_interests, index);
- let interests_prior: HashSet<ClientInterest> = clients.iter().map(|Client { ref interests, .. }| interests.clone()).flatten().collect();
+ let interests_prior: HashSet<ClientInterest> = clients.iter().flat_map(|Client { ref interests, .. }| interests.clone()).collect();
swap(&mut clients[index].interests, &mut client_interests);
- let interests_after: HashSet<ClientInterest> = clients.iter().map(|Client { ref interests, .. }| interests.clone()).flatten().collect();
+ let interests_after: HashSet<ClientInterest> = clients.iter().flat_map(|Client { ref interests, .. }| interests.clone()).collect();
for interest in &interests_after - &interests_prior {
debug!("Subscribing to {:?}", interest);
if let Err(err) = connection.subscribe(interest).await {
}
Action::RemoveClient { index } => {
debug!("Action::RemoveClient {{ index: {:?} }}", index);
- let interests_prior: HashSet<ClientInterest> = clients.iter().map(|Client { ref interests, .. }| interests.clone()).flatten().collect();
+ let interests_prior: HashSet<ClientInterest> = clients.iter().flat_map(|Client { ref interests, .. }| interests.clone()).collect();
clients.remove(index);
- let interests_after: HashSet<ClientInterest> = clients.iter().map(|Client { ref interests, .. }| interests.clone()).flatten().collect();
+ let interests_after: HashSet<ClientInterest> = clients.iter().flat_map(|Client { ref interests, .. }| interests.clone()).collect();
for interest in &interests_prior - &interests_after {
debug!("Unsubscribing from {:?}", interest);
if let Err(err) = connection.unsubscribe(interest).await {