Skip to content

Commit 24c1d63

Browse files
committed
Make AChannelManager trait slightly more generic and always on
Rather than letting `AChannelManager` be bounded by all traits being `Sized` we make them explicitly `?Sized`. We also make the trait no longer test-only as it will be used in a coming commit.
1 parent 01ed598 commit 24c1d63

File tree

1 file changed

+17
-19
lines changed

1 file changed

+17
-19
lines changed

lightning/src/ln/channelmanager.rs

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -659,39 +659,37 @@ pub type SimpleArcChannelManager<M, T, F, L> = ChannelManager<
659659
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>;
660660

661661
/// A trivial trait which describes any [`ChannelManager`] used in testing.
662-
#[cfg(any(test, feature = "_test_utils"))]
663662
pub trait AChannelManager {
664-
type Watch: chain::Watch<Self::Signer>;
663+
type Watch: chain::Watch<Self::Signer> + ?Sized;
665664
type M: Deref<Target = Self::Watch>;
666-
type Broadcaster: BroadcasterInterface;
665+
type Broadcaster: BroadcasterInterface + ?Sized;
667666
type T: Deref<Target = Self::Broadcaster>;
668-
type EntropySource: EntropySource;
667+
type EntropySource: EntropySource + ?Sized;
669668
type ES: Deref<Target = Self::EntropySource>;
670-
type NodeSigner: NodeSigner;
669+
type NodeSigner: NodeSigner + ?Sized;
671670
type NS: Deref<Target = Self::NodeSigner>;
672-
type Signer: WriteableEcdsaChannelSigner;
673-
type SignerProvider: SignerProvider<Signer = Self::Signer>;
671+
type Signer: WriteableEcdsaChannelSigner + Sized;
672+
type SignerProvider: SignerProvider<Signer = Self::Signer> + ?Sized;
674673
type SP: Deref<Target = Self::SignerProvider>;
675-
type FeeEstimator: FeeEstimator;
674+
type FeeEstimator: FeeEstimator + ?Sized;
676675
type F: Deref<Target = Self::FeeEstimator>;
677-
type Router: Router;
676+
type Router: Router + ?Sized;
678677
type R: Deref<Target = Self::Router>;
679-
type Logger: Logger;
678+
type Logger: Logger + ?Sized;
680679
type L: Deref<Target = Self::Logger>;
681680
fn get_cm(&self) -> &ChannelManager<Self::M, Self::T, Self::ES, Self::NS, Self::SP, Self::F, Self::R, Self::L>;
682681
}
683-
#[cfg(any(test, feature = "_test_utils"))]
684682
impl<M: Deref, T: Deref, ES: Deref, NS: Deref, SP: Deref, F: Deref, R: Deref, L: Deref> AChannelManager
685683
for ChannelManager<M, T, ES, NS, SP, F, R, L>
686684
where
687-
M::Target: chain::Watch<<SP::Target as SignerProvider>::Signer> + Sized,
688-
T::Target: BroadcasterInterface + Sized,
689-
ES::Target: EntropySource + Sized,
690-
NS::Target: NodeSigner + Sized,
691-
SP::Target: SignerProvider + Sized,
692-
F::Target: FeeEstimator + Sized,
693-
R::Target: Router + Sized,
694-
L::Target: Logger + Sized,
685+
M::Target: chain::Watch<<SP::Target as SignerProvider>::Signer>,
686+
T::Target: BroadcasterInterface,
687+
ES::Target: EntropySource,
688+
NS::Target: NodeSigner,
689+
SP::Target: SignerProvider,
690+
F::Target: FeeEstimator,
691+
R::Target: Router,
692+
L::Target: Logger,
695693
{
696694
type Watch = M::Target;
697695
type M = M;

0 commit comments

Comments
 (0)