f add reasoning for wrapper 2021-10-1137-old-push
authorMatt Corallo <git@bluematt.me>
Thu, 28 Oct 2021 17:51:29 +0000 (17:51 +0000)
committerMatt Corallo <git@bluematt.me>
Thu, 28 Oct 2021 18:26:10 +0000 (18:26 +0000)
lightning/src/ln/peer_handler.rs

index 2095f0519968396bb9cbb0fd6928b5fb84729cc6..9a1b048536bf868855dacab21672fe62f0b6becb 100644 (file)
@@ -493,6 +493,10 @@ impl<Descriptor: SocketDescriptor, RM: Deref, L: Deref> PeerManager<Descriptor,
        }
 }
 
+/// A simple wrapper that optionally prints " from <pubkey>" for an optional pubkey.
+/// This works around `format!()` taking a reference to each argument, preventing
+/// `if let Some(node_id) = peer.their_node_id { format!(.., node_id) } else { .. }` from compiling
+/// due to lifetime errors.
 struct OptionalFromDebugger<'a>(&'a Option<PublicKey>);
 impl core::fmt::Display for OptionalFromDebugger<'_> {
        fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> Result<(), core::fmt::Error> {