Skip to content

Commit 2336aa9

Browse files
committed
f: Use iter clone instead of Vec Allocation
1 parent 9ed4943 commit 2336aa9

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

lightning/src/blinded_path/payment.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ pub(crate) enum BlindedPaymentTlvs {
8686
}
8787

8888
// Used to include forward and receive TLVs in the same iterator for encoding.
89+
#[derive(Clone)]
8990
enum BlindedPaymentTlvsRef<'a> {
9091
Forward(&'a ForwardTlvs),
9192
Receive(&'a ReceiveTlvs),
@@ -288,16 +289,15 @@ pub(super) fn blinded_hops<T: secp256k1::Signing + secp256k1::Verification>(
288289
) -> Result<Vec<BlindedHop>, secp256k1::Error> {
289290
let pks = intermediate_nodes.iter().map(|node| &node.node_id)
290291
.chain(core::iter::once(&payee_node_id));
291-
let tlvs: Vec<BlindedPaymentTlvsRef> = intermediate_nodes.iter().map(|node| BlindedPaymentTlvsRef::Forward(&node.tlvs))
292-
.chain(core::iter::once(BlindedPaymentTlvsRef::Receive(&payee_tlvs)))
293-
.collect();
292+
let tlvs = intermediate_nodes.iter().map(|node| BlindedPaymentTlvsRef::Forward(&node.tlvs))
293+
.chain(core::iter::once(BlindedPaymentTlvsRef::Receive(&payee_tlvs)));
294294

295-
let max_length = tlvs.iter()
295+
let max_length = tlvs.clone()
296296
.max_by_key(|c| c.serialized_length())
297297
.map(|c| c.serialized_length())
298298
.unwrap_or(0);
299299

300-
let length_tlvs = tlvs.into_iter().map(move |tlv| (max_length, tlv));
300+
let length_tlvs = tlvs.map(|tlv| (max_length, tlv));
301301

302302
utils::construct_blinded_hops(secp_ctx, pks, length_tlvs, session_priv)
303303
}

0 commit comments

Comments
 (0)