Skip to content

Commit

Permalink
IOLike: added MonadTraceSTM constraint
Browse files Browse the repository at this point in the history
  • Loading branch information
coot committed Oct 21, 2024
1 parent 254aa51 commit be7c0f2
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ import Ouroboros.Consensus.Util.Orphans ()

class ( MonadAsync m
, MonadLabelledSTM m
, MonadTraceSTM m
, MonadMVar m
, MonadEventlog m
, MonadFork m
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,18 @@ instance MonadLabelledSTM m => MonadLabelledSTM (OverrideDelay m) where
labelTQueueIO v = OverrideDelay . lift . LazySTM.labelTQueueIO v
labelTBQueueIO v = OverrideDelay . lift . LazySTM.labelTBQueueIO v

instance MonadInspectSTM m => MonadInspectSTM (OverrideDelay m) where
type InspectMonad (OverrideDelay m) = InspectMonad m
inspectTVar = inspectTVar
inspectTMVar = inspectTMVar

instance MonadTraceSTM m => MonadTraceSTM (OverrideDelay m) where
traceTVar _ v = OverrideDelaySTM . lift . LazySTM.traceTVar Proxy v
traceTMVar _ v = OverrideDelaySTM . lift . LazySTM.traceTMVar Proxy v
traceTQueue _ v = OverrideDelaySTM . lift . LazySTM.traceTQueue Proxy v
traceTBQueue _ v = OverrideDelaySTM . lift . LazySTM.traceTBQueue Proxy v
traceTSem _ v = OverrideDelaySTM . lift . LazySTM.traceTSem Proxy v

newtype OverrideDelayAsync m a = OverrideDelayAsync {
unOverrideDelayAsync :: Async m a
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ data BlockFetchClientOutcome = BlockFetchClientOutcome {

runBlockFetchTest ::
forall m.
(IOLike m, MonadTime m, MonadTimer m, MonadTraceSTM m)
(IOLike m, MonadTime m, MonadTimer m)
=> BlockFetchClientTestSetup
-> m BlockFetchClientOutcome
runBlockFetchTest BlockFetchClientTestSetup{..} = withRegistry \registry -> do
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ data ChainSyncOutcome = ChainSyncOutcome {
-- Note that updates that are scheduled before the time at which we start
-- syncing help generate different chains to start syncing from.
runChainSync ::
forall m. (IOLike m, MonadTime m, MonadTimer m, MonadTraceSTM m)
forall m. (IOLike m, MonadTime m, MonadTimer m)
=> ClockSkew
-> SecurityParam
-> ClientUpdates
Expand Down

0 comments on commit be7c0f2

Please sign in to comment.