@@ -656,40 +656,44 @@ pub type SimpleArcChannelManager<M, T, F, L> = ChannelManager<
656
656
/// This is not exported to bindings users as Arcs don't make sense in bindings
657
657
pub type SimpleRefChannelManager < ' a , ' b , ' c , ' d , ' e , ' f , ' g , ' h , M , T , F , L > = ChannelManager < & ' a M , & ' b T , & ' c KeysManager , & ' c KeysManager , & ' c KeysManager , & ' d F , & ' e DefaultRouter < & ' f NetworkGraph < & ' g L > , & ' g L , & ' h Mutex < ProbabilisticScorer < & ' f NetworkGraph < & ' g L > , & ' g L > > > , & ' g L > ;
658
658
659
+ macro_rules! define_test_pub_trait { ( $vis: vis) => {
659
660
/// A trivial trait which describes any [`ChannelManager`] used in testing.
660
- #[ cfg( any( test, feature = "_test_utils" ) ) ]
661
- pub trait AChannelManager {
662
- type Watch : chain:: Watch < Self :: Signer > ;
661
+ $vis trait AChannelManager {
662
+ type Watch : chain:: Watch <Self :: Signer > + ?Sized ;
663
663
type M : Deref <Target = Self :: Watch >;
664
- type Broadcaster : BroadcasterInterface ;
664
+ type Broadcaster : BroadcasterInterface + ? Sized ;
665
665
type T : Deref <Target = Self :: Broadcaster >;
666
- type EntropySource : EntropySource ;
666
+ type EntropySource : EntropySource + ? Sized ;
667
667
type ES : Deref <Target = Self :: EntropySource >;
668
- type NodeSigner : NodeSigner ;
668
+ type NodeSigner : NodeSigner + ? Sized ;
669
669
type NS : Deref <Target = Self :: NodeSigner >;
670
- type Signer : WriteableEcdsaChannelSigner ;
671
- type SignerProvider : SignerProvider < Signer = Self :: Signer > ;
670
+ type Signer : WriteableEcdsaChannelSigner + Sized ;
671
+ type SignerProvider : SignerProvider <Signer = Self :: Signer > + ? Sized ;
672
672
type SP : Deref <Target = Self :: SignerProvider >;
673
- type FeeEstimator : FeeEstimator ;
673
+ type FeeEstimator : FeeEstimator + ? Sized ;
674
674
type F : Deref <Target = Self :: FeeEstimator >;
675
- type Router : Router ;
675
+ type Router : Router + ? Sized ;
676
676
type R : Deref <Target = Self :: Router >;
677
- type Logger : Logger ;
677
+ type Logger : Logger + ? Sized ;
678
678
type L : Deref <Target = Self :: Logger >;
679
679
fn get_cm( & self ) -> & ChannelManager <Self :: M , Self :: T , Self :: ES , Self :: NS , Self :: SP , Self :: F , Self :: R , Self :: L >;
680
680
}
681
+ } }
681
682
#[ cfg( any( test, feature = "_test_utils" ) ) ]
683
+ define_test_pub_trait ! ( pub ) ;
684
+ #[ cfg( not( any( test, feature = "_test_utils" ) ) ) ]
685
+ define_test_pub_trait ! ( pub ( crate ) ) ;
682
686
impl < M : Deref , T : Deref , ES : Deref , NS : Deref , SP : Deref , F : Deref , R : Deref , L : Deref > AChannelManager
683
687
for ChannelManager < M , T , ES , NS , SP , F , R , L >
684
688
where
685
- M :: Target : chain:: Watch < <SP :: Target as SignerProvider >:: Signer > + Sized ,
686
- T :: Target : BroadcasterInterface + Sized ,
687
- ES :: Target : EntropySource + Sized ,
688
- NS :: Target : NodeSigner + Sized ,
689
- SP :: Target : SignerProvider + Sized ,
690
- F :: Target : FeeEstimator + Sized ,
691
- R :: Target : Router + Sized ,
692
- L :: Target : Logger + Sized ,
689
+ M :: Target : chain:: Watch < <SP :: Target as SignerProvider >:: Signer > ,
690
+ T :: Target : BroadcasterInterface ,
691
+ ES :: Target : EntropySource ,
692
+ NS :: Target : NodeSigner ,
693
+ SP :: Target : SignerProvider ,
694
+ F :: Target : FeeEstimator ,
695
+ R :: Target : Router ,
696
+ L :: Target : Logger ,
693
697
{
694
698
type Watch = M :: Target ;
695
699
type M = M ;
0 commit comments