commit c8b9700fe93f80fbff0b7f0c05ec5f785ee0011e
parent 2d3d64dc041249e137b26e233b3777dd0153e74d
Author: triesap <tyson@radroots.org>
Date: Wed, 29 Jul 2026 03:19:34 +0000
codec: close strict copy hygiene findings
- replace redundant clones of copy event and trade identifiers
- use entry-based deletion-target deduplication without changing precedence
- preserve evaluator order invariance and order/trade tag behavior
- pass strict all-feature Clippy and the complete codec test matrix
Diffstat:
4 files changed, 15 insertions(+), 18 deletions(-)
diff --git a/crates/event_codec/src/deletion/reconciliation_v1.rs b/crates/event_codec/src/deletion/reconciliation_v1.rs
@@ -328,7 +328,7 @@ pub mod evaluator {
)
{
event_reference = Some(RadrootsNip09EventReferenceEvidence {
- request_id: request_event.id().clone(),
+ request_id: *request_event.id(),
});
}
if let Some(coordinate) = address_match {
@@ -343,7 +343,7 @@ pub mod evaluator {
address_reference = Some(RadrootsNip09AddressReferenceEvidence {
coordinate: coordinate.clone(),
inclusive_cutoff,
- request_id: request_event.id().clone(),
+ request_id: *request_event.id(),
});
}
}
@@ -822,16 +822,13 @@ pub mod inbound {
error,
}
})?;
- if !event_targets.contains_key(&event_id) {
- event_targets.insert(
- event_id.clone(),
- RadrootsInboundNip09DeletionEventTarget {
- tag_index,
- event_id,
- raw_tag: tag.clone(),
- },
- );
- }
+ event_targets.entry(event_id).or_insert_with(|| {
+ RadrootsInboundNip09DeletionEventTarget {
+ tag_index,
+ event_id,
+ raw_tag: tag.clone(),
+ }
+ });
}
Some("a") => {
let Some(value) = tag.get(1) else {
diff --git a/crates/event_codec/src/deletion/reconciliation_v1/evaluator/tests.rs b/crates/event_codec/src/deletion/reconciliation_v1/evaluator/tests.rs
@@ -99,7 +99,7 @@ fn nip09_evaluator_exact_event_reference_is_time_independent() {
vec![event_reference(target.event().id_hex().as_str())],
"exact",
);
- let request_id = request.event().id().clone();
+ let request_id = *request.event().id();
let decision = evaluate_nip09_suppression(&target, &[request]);
@@ -134,7 +134,7 @@ fn nip09_evaluator_address_cutoff_is_inclusive_and_later_replacement_is_visible(
vec![address_reference(coordinate.as_str())],
"address",
);
- let request_id = request.event().id().clone();
+ let request_id = *request.event().id();
let suppressed = evaluate_nip09_suppression(&at_cutoff, core::slice::from_ref(&request));
assert_decision(
@@ -312,8 +312,8 @@ fn nip09_evaluator_reduction_is_order_and_repeat_invariant() {
vec![address_reference(coordinate.as_str())],
"address older",
);
- let lower_exact_id = core::cmp::min(exact_a.event().id(), exact_b.event().id()).clone();
- let lower_address_id = core::cmp::min(address_a.event().id(), address_b.event().id()).clone();
+ let lower_exact_id = *core::cmp::min(exact_a.event().id(), exact_b.event().id());
+ let lower_address_id = *core::cmp::min(address_a.event().id(), address_b.event().id());
let forward = vec![
exact_a.clone(),
diff --git a/crates/event_codec/src/order/tags.rs b/crates/event_codec/src/order/tags.rs
@@ -65,7 +65,7 @@ fn parse_event_ptr_tag(
None => None,
};
if let Some(relay) = relay.as_ref() {
- RadrootsEventEnvelopePointer::new(event_id.clone(), [relay.as_str()])
+ RadrootsEventEnvelopePointer::new(event_id, [relay.as_str()])
.map_err(|_| EventParseError::InvalidTag(name))?;
}
Ok(Some(RadrootsEventPtr {
diff --git a/crates/event_codec/src/trade/mod.rs b/crates/event_codec/src/trade/mod.rs
@@ -424,7 +424,7 @@ mod tests {
let parent = RadrootsTradeMutationId::parse(hex_64('9')).unwrap();
let mut parent_envelope = proposal();
- parent_envelope.parent_mutation_ids.push(parent.clone());
+ parent_envelope.parent_mutation_ids.push(parent);
let parent_tags = trade_mutation_tags(&parent_envelope).unwrap();
validate_trade_mutation_tags(&parent_envelope, &parent_tags).unwrap();