Skip to content

Commit d665bef

Browse files
committed
Drop unnecessary 'static bounds on BP async methods
Given the future returned from async BP methods will be concrete on whatever types get used, there's not much reason to require that the arguments be `'static`, we can let Rust figure out if they're `'static` (and thus the returned future is `'static`).
1 parent f53c5e9 commit d665bef

File tree

1 file changed

+61
-63
lines changed
  • lightning-background-processor/src

1 file changed

+61
-63
lines changed

lightning-background-processor/src/lib.rs

Lines changed: 61 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ where
304304

305305
/// Updates scorer based on event and returns whether an update occurred so we can decide whether
306306
/// to persist.
307-
fn update_scorer<'a, S: 'static + Deref<Target = SC> + Send + Sync, SC: 'a + WriteableScore<'a>>(
307+
fn update_scorer<'a, S: Deref<Target = SC> + Send + Sync, SC: 'a + WriteableScore<'a>>(
308308
scorer: &'a S, event: &Event, duration_since_epoch: Duration,
309309
) -> bool {
310310
match event {
@@ -866,31 +866,30 @@ use futures_util::{dummy_waker, Joiner, OptionalSelector, Selector, SelectorOutp
866866
///```
867867
pub async fn process_events_async<
868868
'a,
869-
UL: 'static + Deref,
870-
CF: 'static + Deref,
871-
T: 'static + Deref,
872-
F: 'static + Deref,
873-
G: 'static + Deref<Target = NetworkGraph<L>>,
874-
L: 'static + Deref,
875-
P: 'static + Deref,
869+
UL: Deref,
870+
CF: Deref,
871+
T: Deref,
872+
F: Deref,
873+
G: Deref<Target = NetworkGraph<L>>,
874+
L: Deref,
875+
P: Deref,
876876
EventHandlerFuture: core::future::Future<Output = Result<(), ReplayEvent>>,
877877
EventHandler: Fn(Event) -> EventHandlerFuture,
878-
ES: 'static + Deref + Send,
879-
M: 'static
880-
+ Deref<Target = ChainMonitor<<CM::Target as AChannelManager>::Signer, CF, T, F, L, P, ES>>
878+
ES: Deref + Send,
879+
M: Deref<Target = ChainMonitor<<CM::Target as AChannelManager>::Signer, CF, T, F, L, P, ES>>
881880
+ Send
882881
+ Sync,
883-
CM: 'static + Deref,
884-
OM: 'static + Deref,
885-
PGS: 'static + Deref<Target = P2PGossipSync<G, UL, L>>,
886-
RGS: 'static + Deref<Target = RapidGossipSync<G, L>>,
887-
PM: 'static + Deref,
888-
LM: 'static + Deref,
889-
D: 'static + Deref,
890-
O: 'static + Deref,
891-
K: 'static + Deref,
892-
OS: 'static + Deref<Target = OutputSweeper<T, D, F, CF, K, L, O>>,
893-
S: 'static + Deref<Target = SC> + Send + Sync,
882+
CM: Deref,
883+
OM: Deref,
884+
PGS: Deref<Target = P2PGossipSync<G, UL, L>>,
885+
RGS: Deref<Target = RapidGossipSync<G, L>>,
886+
PM: Deref,
887+
LM: Deref,
888+
D: Deref,
889+
O: Deref,
890+
K: Deref,
891+
OS: Deref<Target = OutputSweeper<T, D, F, CF, K, L, O>>,
892+
S: Deref<Target = SC> + Send + Sync,
894893
SC: for<'b> WriteableScore<'b>,
895894
SleepFuture: core::future::Future<Output = bool> + core::marker::Unpin,
896895
Sleeper: Fn(Duration) -> SleepFuture,
@@ -902,20 +901,20 @@ pub async fn process_events_async<
902901
sleeper: Sleeper, mobile_interruptable_platform: bool, fetch_time: FetchTime,
903902
) -> Result<(), lightning::io::Error>
904903
where
905-
UL::Target: 'static + UtxoLookup,
906-
CF::Target: 'static + chain::Filter,
907-
T::Target: 'static + BroadcasterInterface,
908-
F::Target: 'static + FeeEstimator,
909-
L::Target: 'static + Logger,
910-
P::Target: 'static + Persist<<CM::Target as AChannelManager>::Signer>,
911-
ES::Target: 'static + EntropySource,
904+
UL::Target: UtxoLookup,
905+
CF::Target: chain::Filter,
906+
T::Target: BroadcasterInterface,
907+
F::Target: FeeEstimator,
908+
L::Target: Logger,
909+
P::Target: Persist<<CM::Target as AChannelManager>::Signer>,
910+
ES::Target: EntropySource,
912911
CM::Target: AChannelManager,
913912
OM::Target: AOnionMessenger,
914913
PM::Target: APeerManager,
915914
LM::Target: ALiquidityManager,
916-
O::Target: 'static + OutputSpender,
917-
D::Target: 'static + ChangeDestinationSource,
918-
K::Target: 'static + KVStore,
915+
O::Target: OutputSpender,
916+
D::Target: ChangeDestinationSource,
917+
K::Target: KVStore,
919918
{
920919
let async_event_handler = |event| {
921920
let network_graph = gossip_sync.network_graph();
@@ -1340,31 +1339,30 @@ fn check_and_reset_sleeper<
13401339
/// Async events processor that is based on [`process_events_async`] but allows for [`KVStoreSync`] to be used for
13411340
/// synchronous background persistence.
13421341
pub async fn process_events_async_with_kv_store_sync<
1343-
UL: 'static + Deref,
1344-
CF: 'static + Deref,
1345-
T: 'static + Deref,
1346-
F: 'static + Deref,
1347-
G: 'static + Deref<Target = NetworkGraph<L>>,
1348-
L: 'static + Deref + Send + Sync,
1349-
P: 'static + Deref,
1342+
UL: Deref,
1343+
CF: Deref,
1344+
T: Deref,
1345+
F: Deref,
1346+
G: Deref<Target = NetworkGraph<L>>,
1347+
L: Deref + Send + Sync,
1348+
P: Deref,
13501349
EventHandlerFuture: core::future::Future<Output = Result<(), ReplayEvent>>,
13511350
EventHandler: Fn(Event) -> EventHandlerFuture,
1352-
ES: 'static + Deref + Send,
1353-
M: 'static
1354-
+ Deref<Target = ChainMonitor<<CM::Target as AChannelManager>::Signer, CF, T, F, L, P, ES>>
1351+
ES: Deref + Send,
1352+
M: Deref<Target = ChainMonitor<<CM::Target as AChannelManager>::Signer, CF, T, F, L, P, ES>>
13551353
+ Send
13561354
+ Sync,
1357-
CM: 'static + Deref + Send + Sync,
1358-
OM: 'static + Deref,
1359-
PGS: 'static + Deref<Target = P2PGossipSync<G, UL, L>>,
1360-
RGS: 'static + Deref<Target = RapidGossipSync<G, L>>,
1361-
PM: 'static + Deref,
1362-
LM: 'static + Deref,
1363-
D: 'static + Deref,
1364-
O: 'static + Deref,
1365-
K: 'static + Deref,
1366-
OS: 'static + Deref<Target = OutputSweeper<T, D, F, CF, KVStoreSyncWrapper<K>, L, O>>,
1367-
S: 'static + Deref<Target = SC> + Send + Sync,
1355+
CM: Deref + Send + Sync,
1356+
OM: Deref,
1357+
PGS: Deref<Target = P2PGossipSync<G, UL, L>>,
1358+
RGS: Deref<Target = RapidGossipSync<G, L>>,
1359+
PM: Deref,
1360+
LM: Deref,
1361+
D: Deref,
1362+
O: Deref,
1363+
K: Deref,
1364+
OS: Deref<Target = OutputSweeper<T, D, F, CF, KVStoreSyncWrapper<K>, L, O>>,
1365+
S: Deref<Target = SC> + Send + Sync,
13681366
SC: for<'b> WriteableScore<'b>,
13691367
SleepFuture: core::future::Future<Output = bool> + core::marker::Unpin,
13701368
Sleeper: Fn(Duration) -> SleepFuture,
@@ -1376,20 +1374,20 @@ pub async fn process_events_async_with_kv_store_sync<
13761374
sleeper: Sleeper, mobile_interruptable_platform: bool, fetch_time: FetchTime,
13771375
) -> Result<(), lightning::io::Error>
13781376
where
1379-
UL::Target: 'static + UtxoLookup,
1380-
CF::Target: 'static + chain::Filter,
1381-
T::Target: 'static + BroadcasterInterface,
1382-
F::Target: 'static + FeeEstimator,
1383-
L::Target: 'static + Logger,
1384-
P::Target: 'static + Persist<<CM::Target as AChannelManager>::Signer>,
1385-
ES::Target: 'static + EntropySource,
1377+
UL::Target: UtxoLookup,
1378+
CF::Target: chain::Filter,
1379+
T::Target: BroadcasterInterface,
1380+
F::Target: FeeEstimator,
1381+
L::Target: Logger,
1382+
P::Target: Persist<<CM::Target as AChannelManager>::Signer>,
1383+
ES::Target: EntropySource,
13861384
CM::Target: AChannelManager,
13871385
OM::Target: AOnionMessenger,
13881386
PM::Target: APeerManager,
13891387
LM::Target: ALiquidityManager,
1390-
O::Target: 'static + OutputSpender,
1391-
D::Target: 'static + ChangeDestinationSource,
1392-
K::Target: 'static + KVStoreSync,
1388+
O::Target: OutputSpender,
1389+
D::Target: ChangeDestinationSource,
1390+
K::Target: KVStoreSync,
13931391
{
13941392
let kv_store = KVStoreSyncWrapper(kv_store);
13951393
process_events_async(

0 commit comments

Comments
 (0)