commit d44eb0fe99ed4d8f6e8f3948d3f980c77a64e2b1
parent cc36dcdf12387e4ccd45b89bb84c2325b98b2313
Author: triesap <tyson@radroots.org>
Date: Sat, 27 Jun 2026 10:14:33 +0000
events: satisfy current clippy lint gate
- replace first-column tag lookups with slice first accessors
- simplify structured location branch detection with matches patterns
- remove redundant feature cfg attributes from gated decode modules
- update test helpers to avoid needless vectors and cloned slices
Diffstat:
16 files changed, 81 insertions(+), 93 deletions(-)
diff --git a/crates/events_codec/src/coop/mod.rs b/crates/events_codec/src/coop/mod.rs
@@ -71,9 +71,9 @@ mod tests {
};
let tags = coop_build_tags(&coop).expect("tags");
- assert!(tags.iter().any(|tag| tag.get(0) == Some(&"d".to_string())));
- assert!(tags.iter().any(|tag| tag.get(0) == Some(&"t".to_string())));
- assert!(tags.iter().any(|tag| tag.get(0) == Some(&"g".to_string())));
+ assert!(tags.iter().any(|tag| tag.first() == Some(&"d".to_string())));
+ assert!(tags.iter().any(|tag| tag.first() == Some(&"t".to_string())));
+ assert!(tags.iter().any(|tag| tag.first() == Some(&"g".to_string())));
}
#[test]
@@ -86,10 +86,10 @@ mod tests {
let tags = coop_ref_tags(&coop).expect("coop ref tags");
let has_a = tags
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("a"));
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("a"));
let has_p = tags
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("p"));
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("p"));
assert!(has_a);
assert!(has_p);
diff --git a/crates/events_codec/src/document/mod.rs b/crates/events_codec/src/document/mod.rs
@@ -26,9 +26,9 @@ mod tests {
};
let tags = document_build_tags(&document).expect("tags");
- assert!(tags.iter().any(|tag| tag.get(0) == Some(&"d".to_string())));
- assert!(tags.iter().any(|tag| tag.get(0) == Some(&"p".to_string())));
- assert!(tags.iter().any(|tag| tag.get(0) == Some(&"a".to_string())));
- assert!(tags.iter().any(|tag| tag.get(0) == Some(&"t".to_string())));
+ assert!(tags.iter().any(|tag| tag.first() == Some(&"d".to_string())));
+ assert!(tags.iter().any(|tag| tag.first() == Some(&"p".to_string())));
+ assert!(tags.iter().any(|tag| tag.first() == Some(&"a".to_string())));
+ assert!(tags.iter().any(|tag| tag.first() == Some(&"t".to_string())));
}
}
diff --git a/crates/events_codec/src/farm/decode.rs b/crates/events_codec/src/farm/decode.rs
@@ -62,17 +62,16 @@ pub fn farm_from_event(
} else if farm.d_tag != d_tag {
return Err(EventParseError::InvalidTag(TAG_D));
}
- if let Some(location) = farm.location.as_ref() {
- if !is_public_geohash5(&location.geohash)
+ if let Some(location) = farm.location.as_ref()
+ && (!is_public_geohash5(&location.geohash)
|| !has_textual_locality(
&location.primary,
location.city.as_deref(),
location.region.as_deref(),
location.country.as_deref(),
- )
- {
- return Err(EventParseError::InvalidTag(TAG_G));
- }
+ ))
+ {
+ return Err(EventParseError::InvalidTag(TAG_G));
}
Ok(farm)
diff --git a/crates/events_codec/src/farm/mod.rs b/crates/events_codec/src/farm/mod.rs
@@ -51,9 +51,9 @@ mod tests {
};
let tags = farm_build_tags(&farm).expect("tags");
- assert!(tags.iter().any(|tag| tag.get(0) == Some(&"d".to_string())));
- assert!(tags.iter().any(|tag| tag.get(0) == Some(&"t".to_string())));
- assert!(tags.iter().any(|tag| tag.get(0) == Some(&"g".to_string())));
+ assert!(tags.iter().any(|tag| tag.first() == Some(&"d".to_string())));
+ assert!(tags.iter().any(|tag| tag.first() == Some(&"t".to_string())));
+ assert!(tags.iter().any(|tag| tag.first() == Some(&"g".to_string())));
}
#[test]
@@ -72,17 +72,17 @@ mod tests {
let tags = farm_build_tags(&farm).expect("tags without optional fields");
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("d"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("d"))
);
assert!(
!tags
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("t"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("t"))
);
assert!(
!tags
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("g"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("g"))
);
}
@@ -151,10 +151,10 @@ mod tests {
let tags = farm_ref_tags(&farm).expect("farm ref tags");
let has_a = tags
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("a"));
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("a"));
let has_p = tags
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("p"));
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("p"));
assert!(has_a);
assert!(has_p);
diff --git a/crates/events_codec/src/farm_crdt/decode.rs b/crates/events_codec/src/farm_crdt/decode.rs
@@ -1,5 +1,3 @@
-#![cfg(feature = "serde_json")]
-
#[cfg(not(feature = "std"))]
use alloc::{
string::{String, ToString},
diff --git a/crates/events_codec/src/farm_workspace/decode.rs b/crates/events_codec/src/farm_workspace/decode.rs
@@ -1,5 +1,3 @@
-#![cfg(feature = "serde_json")]
-
#[cfg(not(feature = "std"))]
use alloc::{
string::{String, ToString},
diff --git a/crates/events_codec/src/listing/decode.rs b/crates/events_codec/src/listing/decode.rs
@@ -322,11 +322,7 @@ pub fn listing_from_event_parts(
"process" => set_optional(&mut product.process, tag.get(1)),
"lot" => set_optional(&mut product.lot, tag.get(1)),
"location" => {
- let parse_structured_location = match tag.len() {
- 0 | 1 => false,
- 2 => false,
- _ => true,
- };
+ let parse_structured_location = !matches!(tag.len(), 0..=2);
if parse_structured_location {
let primary = tag
.get(1)
diff --git a/crates/events_codec/src/listing/tags.rs b/crates/events_codec/src/listing/tags.rs
@@ -1288,7 +1288,7 @@ mod tests {
let tags = listing_tags(&listing).expect("listing tags");
let location = find_tag(&tags, "location").expect("location tag");
- assert_eq!(location.get(0).map(|v| v.as_str()), Some("location"));
+ assert_eq!(location.first().map(|v| v.as_str()), Some("location"));
assert_eq!(location.get(1).map(|v| v.as_str()), Some("Moyobamba"));
assert_eq!(location.get(2).map(|v| v.as_str()), Some("San Martin"));
assert_eq!(location.len(), 3);
diff --git a/crates/events_codec/src/plot/mod.rs b/crates/events_codec/src/plot/mod.rs
@@ -65,10 +65,10 @@ mod tests {
let tags = plot_build_tags(&plot).expect("tags");
let has_a = tags
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("a"));
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("a"));
let has_p = tags
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("p"));
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("p"));
assert!(has_a);
assert!(has_p);
}
@@ -90,25 +90,25 @@ mod tests {
let tags = plot_build_tags(&plot).expect("tags without optional fields");
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("d"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("d"))
);
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("a"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("a"))
);
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("p"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("p"))
);
assert!(
!tags
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("t"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("t"))
);
assert!(
!tags
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("g"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("g"))
);
}
diff --git a/crates/events_codec/src/profile/decode.rs b/crates/events_codec/src/profile/decode.rs
@@ -1,5 +1,3 @@
-#![cfg(feature = "serde_json")]
-
#[cfg(not(feature = "std"))]
use alloc::{
string::{String, ToString},
diff --git a/crates/events_codec/src/resource_area/mod.rs b/crates/events_codec/src/resource_area/mod.rs
@@ -73,15 +73,15 @@ mod tests {
let tags = resource_area_build_tags(&area).expect("tags");
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("d"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("d"))
);
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("g"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("g"))
);
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("t"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("t"))
);
}
@@ -98,16 +98,16 @@ mod tests {
let tags = resource_area_build_tags(&area).expect("tags without optional fields");
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("d"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("d"))
);
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("g"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("g"))
);
assert!(
!tags
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("t"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("t"))
);
}
@@ -121,11 +121,11 @@ mod tests {
let tags = resource_area_ref_tags(&area_ref).expect("ref tags");
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("p"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("p"))
);
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("a"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("a"))
);
let err = resource_area_ref_tags(&RadrootsResourceAreaRef {
diff --git a/crates/events_codec/src/resource_cap/mod.rs b/crates/events_codec/src/resource_cap/mod.rs
@@ -40,23 +40,23 @@ mod tests {
let tags = resource_harvest_cap_build_tags(&cap).expect("tags");
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("d"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("d"))
);
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("a"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("a"))
);
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("key"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("key"))
);
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("start"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("start"))
);
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some("end"))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some("end"))
);
}
diff --git a/crates/events_codec/tests/listing.rs b/crates/events_codec/tests/listing.rs
@@ -907,34 +907,34 @@ fn listing_build_tags_includes_listing_fields() {
let tags = listing_build_tags(&listing).unwrap();
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some(TAG_D)
+ t.first().map(|s| s.as_str()) == Some(TAG_D)
&& t.get(1).map(|s| s.as_str()) == Some("AAAAAAAAAAAAAAAAAAAAAg")
}));
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some("p")
+ t.first().map(|s| s.as_str()) == Some("p")
&& t.get(1).map(|s| s.as_str()) == Some("farm_pubkey")
}));
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some("a")
+ t.first().map(|s| s.as_str()) == Some("a")
&& t.get(1).map(|s| s.as_str()) == Some("30340:farm_pubkey:AAAAAAAAAAAAAAAAAAAAAA")
}));
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some("key") && t.get(1).map(|s| s.as_str()) == Some("sku")
+ t.first().map(|s| s.as_str()) == Some("key") && t.get(1).map(|s| s.as_str()) == Some("sku")
}));
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some("title")
+ t.first().map(|s| s.as_str()) == Some("title")
&& t.get(1).map(|s| s.as_str()) == Some("Widget")
}));
let primary_tag = tags
.iter()
- .find(|t| t.get(0).map(|s| s.as_str()) == Some("radroots:primary_bin"))
+ .find(|t| t.first().map(|s| s.as_str()) == Some("radroots:primary_bin"))
.expect("primary bin tag");
assert_eq!(primary_tag.get(1).map(|s| s.as_str()), Some("bin-1"));
let bin_tag = tags
.iter()
- .find(|t| t.get(0).map(|s| s.as_str()) == Some("radroots:bin"))
+ .find(|t| t.first().map(|s| s.as_str()) == Some("radroots:bin"))
.expect("bin tag");
assert_eq!(bin_tag.get(1).map(|s| s.as_str()), Some("bin-1"));
assert_eq!(bin_tag.get(2).map(|s| s.as_str()), Some("1000"));
@@ -945,7 +945,7 @@ fn listing_build_tags_includes_listing_fields() {
let price_tag = tags
.iter()
- .find(|t| t.get(0).map(|s| s.as_str()) == Some("radroots:price"))
+ .find(|t| t.first().map(|s| s.as_str()) == Some("radroots:price"))
.expect("radroots price tag");
assert_eq!(price_tag.get(1).map(|s| s.as_str()), Some("bin-1"));
assert_eq!(price_tag.get(2).map(|s| s.as_str()), Some("0.01"));
@@ -958,7 +958,7 @@ fn listing_build_tags_includes_listing_fields() {
let generic_price_tag = tags
.iter()
.find(|t| {
- t.get(0).map(|s| s.as_str()) == Some("price")
+ t.first().map(|s| s.as_str()) == Some("price")
&& t.get(1).map(|s| s.as_str()) == Some("10")
})
.expect("generic price tag");
@@ -966,7 +966,7 @@ fn listing_build_tags_includes_listing_fields() {
let discount_tag = tags
.iter()
- .find(|t| t.get(0).map(|s| s.as_str()) == Some("radroots:discount"))
+ .find(|t| t.first().map(|s| s.as_str()) == Some("radroots:discount"))
.expect("discount tag");
assert!(
discount_tag
@@ -976,29 +976,29 @@ fn listing_build_tags_includes_listing_fields() {
);
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some("location")
+ t.first().map(|s| s.as_str()) == Some("location")
&& t.get(1).map(|s| s.as_str()) == Some("Moyobamba")
}));
let g_tags: Vec<&Vec<String>> = tags
.iter()
- .filter(|t| t.get(0).map(|s| s.as_str()) == Some("g"))
+ .filter(|t| t.first().map(|s| s.as_str()) == Some("g"))
.collect();
assert_eq!(g_tags.len(), 1);
assert_eq!(g_tags[0][1].len(), 5);
assert!(
!tags
.iter()
- .any(|t| t.get(0).map(|s| s.as_str()) == Some("L"))
+ .any(|t| t.first().map(|s| s.as_str()) == Some("L"))
);
assert!(
!tags
.iter()
- .any(|t| t.get(0).map(|s| s.as_str()) == Some("l"))
+ .any(|t| t.first().map(|s| s.as_str()) == Some("l"))
);
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some("image")
+ t.first().map(|s| s.as_str()) == Some("image")
&& t.get(1).map(|s| s.as_str()) == Some("http://example.com/widget.jpg")
&& t.get(2).map(|s| s.as_str()) == Some("1200x800")
}));
@@ -1061,19 +1061,19 @@ fn listing_tags_full_includes_trade_fields() {
let tags = listing_tags_full(&listing).unwrap();
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some("inventory")
+ t.first().map(|s| s.as_str()) == Some("inventory")
&& t.get(1).map(|s| s.as_str()) == Some(inventory_value.as_str())
}));
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some("radroots:availability_start")
+ t.first().map(|s| s.as_str()) == Some("radroots:availability_start")
&& t.get(1).map(|s| s.as_str()) == Some("1730000000")
}));
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some("expires_at")
+ t.first().map(|s| s.as_str()) == Some("expires_at")
&& t.get(1).map(|s| s.as_str()) == Some("1731000000")
}));
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some("delivery")
+ t.first().map(|s| s.as_str()) == Some("delivery")
&& t.get(1).map(|s| s.as_str()) == Some("shipping")
}));
}
@@ -1088,7 +1088,7 @@ fn listing_tags_full_includes_status_tag() {
let tags = listing_tags_full(&listing).unwrap();
assert!(tags.iter().any(|t| {
- t.get(0).map(|s| s.as_str()) == Some("status")
+ t.first().map(|s| s.as_str()) == Some("status")
&& t.get(1).map(|s| s.as_str()) == Some("active")
}));
}
@@ -1135,12 +1135,12 @@ fn listing_tags_with_options_cover_location_fallback_paths() {
let tags = listing_tags_with_options(&geohash_only, ListingTagOptions::default()).unwrap();
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|value| value.as_str()) == Some("g"))
+ .any(|tag| tag.first().map(|value| value.as_str()) == Some("g"))
);
assert!(
!tags
.iter()
- .any(|tag| tag.get(0).map(|value| value.as_str()) == Some("l"))
+ .any(|tag| tag.first().map(|value| value.as_str()) == Some("l"))
);
let mut no_coordinates = sample_listing("AAAAAAAAAAAAAAAAAAAAAQ");
@@ -1155,11 +1155,11 @@ fn listing_tags_with_options_cover_location_fallback_paths() {
assert!(
!tags
.iter()
- .any(|tag| tag.get(0).map(|value| value.as_str()) == Some("L"))
+ .any(|tag| tag.first().map(|value| value.as_str()) == Some("L"))
);
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|value| value.as_str()) == Some("g"))
+ .any(|tag| tag.first().map(|value| value.as_str()) == Some("g"))
);
let mut without_geohash = sample_listing("AAAAAAAAAAAAAAAAAAAAAw");
@@ -1179,11 +1179,11 @@ fn listing_tags_with_options_cover_location_fallback_paths() {
.unwrap();
assert!(
tags.iter()
- .any(|tag| tag.get(0).map(|value| value.as_str()) == Some("g"))
+ .any(|tag| tag.first().map(|value| value.as_str()) == Some("g"))
);
assert!(
!tags
.iter()
- .any(|tag| tag.get(0).map(|value| value.as_str()) == Some("L"))
+ .any(|tag| tag.first().map(|value| value.as_str()) == Some("L"))
);
}
diff --git a/crates/events_codec/tests/profile_encode.rs b/crates/events_codec/tests/profile_encode.rs
@@ -70,7 +70,7 @@ fn profile_to_wire_parts_with_profile_type_sets_tag() {
};
let parts = to_wire_parts_with_profile_type(&profile, Some(RadrootsProfileType::Farm)).unwrap();
- assert!(parts.tags.iter().any(|tag| tag.get(0).map(|v| v.as_str())
+ assert!(parts.tags.iter().any(|tag| tag.first().map(|v| v.as_str())
== Some(RADROOTS_PROFILE_TYPE_TAG_KEY)
&& tag.get(1).map(|v| v.as_str()) == Some(RADROOTS_PROFILE_TYPE_TAG_FARM)));
}
diff --git a/crates/trade/src/listing/codec.rs b/crates/trade/src/listing/codec.rs
@@ -271,11 +271,7 @@ fn listing_from_tags(
"process" => set_optional(&mut product.process, tag.get(1)),
"lot" => set_optional(&mut product.lot, tag.get(1)),
"location" => {
- let parse_structured_location = match tag.len() {
- 0 | 1 => false,
- 2 => false,
- _ => true,
- };
+ let parse_structured_location = !matches!(tag.len(), 0..=2);
if parse_structured_location {
let primary = &tag[1];
if primary.trim().is_empty() {
@@ -1137,7 +1133,7 @@ mod tests {
assert!(
built
.iter()
- .any(|tag| tag.get(0).map(|v| v.as_str()) == Some(TAG_RADROOTS_PRIMARY_BIN))
+ .any(|tag| tag.first().map(|v| v.as_str()) == Some(TAG_RADROOTS_PRIMARY_BIN))
);
let mapped = map_listing_tags_error(EventEncodeError::EmptyRequiredField("d"));
diff --git a/crates/trade/src/order.rs b/crates/trade/src/order.rs
@@ -2755,7 +2755,7 @@ mod tests {
#[test]
fn order_event_record_accessors_cover_all_variants() {
- let records = vec![
+ let records = [
RadrootsOrderEventRecord::Request(request_record()),
RadrootsOrderEventRecord::Decision(accepted_decision()),
RadrootsOrderEventRecord::RevisionProposal(revision_proposal()),
@@ -3219,7 +3219,7 @@ mod tests {
RadrootsOrderIssue::ForkedLifecycle { .. }
));
- let mut tied_order_issues = vec![
+ let mut tied_order_issues = [
RadrootsOrderIssue::DecisionPayloadInvalid {
event_id: event_id(8),
},
@@ -3236,7 +3236,7 @@ mod tests {
};
assert_eq!(issue_event_id, &event_id(7));
- let mut inventory_issues = vec![
+ let mut inventory_issues = [
RadrootsListingInventoryAccountingIssue::OverReserved {
bin_id: bin_id("bin-2"),
available_count: 1,
@@ -3274,7 +3274,7 @@ mod tests {
RadrootsListingInventoryAccountingIssue::OverReserved { .. }
));
- let mut tied_inventory_issues = vec![
+ let mut tied_inventory_issues = [
RadrootsListingInventoryAccountingIssue::UnknownInventoryBin {
bin_id: bin_id("bin-2"),
event_ids: vec![event_id(9)],
@@ -3513,7 +3513,10 @@ mod tests {
assert_eq!(super::inventory_issue_id(&issues[2]), "bin-2");
assert_eq!(super::inventory_issue_id(&issues[3]), "bin-3");
for issue in &issues {
- assert_eq!(super::inventory_issue_event_ids(issue), &[id.clone()]);
+ assert_eq!(
+ super::inventory_issue_event_ids(issue),
+ std::slice::from_ref(&id)
+ );
}
}