mod system_time_slot_clock;
mod testing_slot_clock;

pub use crate::system_time_slot_clock::{Error as SystemTimeSlotClockError, SystemTimeSlotClock};
pub use crate::testing_slot_clock::{Error as TestingSlotClockError, TestingSlotClock};

pub trait SlotClock: Send + Sync {
    type Error;

    fn present_slot(&self) -> Result<Option<u64>, Self::Error>;
}

mod system_time_slot_clock;
mod testing_slot_clock;

pub use crate::system_time_slot_clock::{Error as SystemTimeSlotClockError, SystemTimeSlotClock};
pub use crate::testing_slot_clock::{Error as TestingSlotClockError, TestingSlotClock};

pub trait SlotClock {
    type Error;

    fn present_slot(&self) -> Result<Option<u64>, Self::Error>;
}

--- 
+++ 
@@ -4,7 +4,7 @@
 pub use crate::system_time_slot_clock::{Error as SystemTimeSlotClockError, SystemTimeSlotClock};
 pub use crate::testing_slot_clock::{Error as TestingSlotClockError, TestingSlotClock};
 
-pub trait SlotClock {
+pub trait SlotClock: Send + Sync {
     type Error;
 
     fn present_slot(&self) -> Result<Option<u64>, Self::Error>;
Add Send + Sync to slot_clock
