]> git.bitcoin.ninja Git - rust-lightning/commitdiff
Always refer to Deref types with where clauses instead of direct
authorMatt Corallo <git@bluematt.me>
Sun, 31 May 2020 03:16:29 +0000 (23:16 -0400)
committerMatt Corallo <git@bluematt.me>
Tue, 25 Aug 2020 21:09:02 +0000 (17:09 -0400)
This makes it a little easier to write C bindings generation as
we only have to handle one case instead of both.

lightning/src/chain/chaininterface.rs

index 644c3214aca9f464d4a99a628ea6cba072c2f0ba..fe3914545c6e05ac17bf012dd8598041c327b6f4 100644 (file)
@@ -245,13 +245,15 @@ pub type BlockNotifierRef<'a, C> = BlockNotifier<'a, &'a ChainListener, C>;
 /// or a BlockNotifierRef for conciseness. See their documentation for more details, but essentially
 /// you should default to using a BlockNotifierRef, and use a BlockNotifierArc instead when you
 /// require ChainListeners with static lifetimes, such as when you're using lightning-net-tokio.
-pub struct BlockNotifier<'a, CL: Deref<Target = ChainListener + 'a> + 'a, C: Deref> where C::Target: ChainWatchInterface {
+pub struct BlockNotifier<'a, CL: Deref + 'a, C: Deref>
+               where CL::Target: ChainListener + 'a, C::Target: ChainWatchInterface {
        listeners: Mutex<Vec<CL>>,
        chain_monitor: C,
        phantom: PhantomData<&'a ()>,
 }
 
-impl<'a, CL: Deref<Target = ChainListener + 'a> + 'a, C: Deref> BlockNotifier<'a, CL, C> where C::Target: ChainWatchInterface {
+impl<'a, CL: Deref + 'a, C: Deref> BlockNotifier<'a, CL, C>
+               where CL::Target: ChainListener + 'a, C::Target: ChainWatchInterface {
        /// Constructs a new BlockNotifier without any listeners.
        pub fn new(chain_monitor: C) -> BlockNotifier<'a, CL, C> {
                BlockNotifier {