SimpleSlotWorker: Do not implement SlotWorker for all types implementing SimpleSlotWorker (#10934)

Because Rust currently doesn't support specialization, it prevents users from implementing
`SlotWorker` for their own types. This pr solves this by removing the generic implementation of
`SlotWorker` for `SimpleSlotWorker` and providing some wrapper type for that.
This commit is contained in:
Bastian Köcher
2022-03-02 10:03:10 +01:00
committed by GitHub
parent f3e9c0af04
commit c58271468a
3 changed files with 13 additions and 6 deletions
+2 -2
View File
@@ -279,7 +279,7 @@ where
L: sc_consensus::JustificationSyncLink<B>,
BS: BackoffAuthoringBlocksStrategy<NumberFor<B>> + Send + Sync + 'static,
{
AuraWorker {
sc_consensus_slots::SimpleSlotWorkerToSlotWorker(AuraWorker {
client,
block_import,
env: proposer_factory,
@@ -292,7 +292,7 @@ where
block_proposal_slot_portion,
max_block_proposal_slot_portion,
_key_type: PhantomData::<P>,
}
})
}
struct AuraWorker<C, E, I, P, SO, L, BS> {