···4848 from_seq = catchup_start,
4949 "Broadcasting catch-up events"
5050 );
5151- for event in events {
5151+ events.into_iter().for_each(|event| {
5252 let seq = event.seq;
5353 let _ = state.firehose_tx.send(event);
5454 LAST_BROADCAST_SEQ.store(seq, Ordering::SeqCst);
5555- }
5555+ });
5656 }
5757 loop {
5858 let notification = listener.recv().await?;
···9393 .await?;
9494 if !gap_events.is_empty() {
9595 debug!(count = gap_events.len(), "Filling sequence gap");
9696- for event in gap_events {
9696+ gap_events.into_iter().for_each(|event| {
9797 let seq = event.seq;
9898 let _ = state.firehose_tx.send(event);
9999 LAST_BROADCAST_SEQ.store(seq, Ordering::SeqCst);
100100- }
100100+ });
101101 }
102102 }
103103 let event = sqlx::query_as!(
+5-8
crates/tranquil-pds/src/util.rs
···257257 assert_eq!(parts[0].len(), 5);
258258 assert_eq!(parts[1].len(), 5);
259259260260- for c in code.chars() {
261261- if c != '-' {
262262- assert!(BASE32_ALPHABET.contains(c));
263263- }
264264- }
260260+ assert!(code
261261+ .chars()
262262+ .filter(|&c| c != '-')
263263+ .all(|c| BASE32_ALPHABET.contains(c)));
265264 }
266265267266 #[test]
···270269 let parts: Vec<&str> = code.split('-').collect();
271270 assert_eq!(parts.len(), 3);
272271273273- for part in parts {
274274- assert_eq!(part.len(), 4);
275275- }
272272+ assert!(parts.iter().all(|part| part.len() == 4));
276273 }
277274278275 #[test]
+3-2
crates/tranquil-pds/src/validation/mod.rs
···534534 "Collection NSID must have at least 3 segments".to_string(),
535535 ));
536536 }
537537- for part in &parts {
537537+ parts.iter().try_for_each(|part| {
538538 if part.is_empty() {
539539 return Err(ValidationError::InvalidRecord(
540540 "Collection NSID segments cannot be empty".to_string(),
···545545 "Collection NSID segments must be alphanumeric or hyphens".to_string(),
546546 ));
547547 }
548548- }
548548+ Ok(())
549549+ })?;
549550 Ok(())
550551}
551552