diff --git a/src/Quasar/Disposable.hs b/src/Quasar/Disposable.hs index fe86e94af2ae4f5cb5ff61d85375543ff5a8d837..d232f2d2b5ac86b20a41ee8ff13a02b1232e8558 100644 --- a/src/Quasar/Disposable.hs +++ b/src/Quasar/Disposable.hs @@ -33,13 +33,11 @@ import Control.Concurrent (forkIO) import Control.Concurrent.STM import Control.Monad.Catch import Control.Monad.Reader -import Data.List.NonEmpty (nonEmpty) import Data.HashSet (HashSet) import Data.HashSet qualified as HashSet import GHC.Conc (unsafeIOToSTM) import Quasar.Awaitable import Quasar.Prelude -import Quasar.Utils.Exceptions -- * Disposable diff --git a/src/Quasar/ResourceManager.hs b/src/Quasar/ResourceManager.hs index 6a04c4cc083b7d6b64c963289d1bb344b812d54f..0755f0eee22fc59e54df079262d6bca168e65c2b 100644 --- a/src/Quasar/ResourceManager.hs +++ b/src/Quasar/ResourceManager.hs @@ -52,7 +52,7 @@ import Control.Monad.Reader import Data.Foldable (toList) import Data.HashMap.Strict (HashMap) import Data.HashMap.Strict qualified as HM -import Data.List.NonEmpty (NonEmpty(..), (<|), nonEmpty) +import Data.List.NonEmpty ((<|), nonEmpty) import Data.Sequence (Seq(..), (|>)) import Data.Sequence qualified as Seq import Quasar.Async.Unmanaged @@ -221,7 +221,7 @@ captureDisposable :: MonadResourceManager m => m a -> m (a, Disposable) captureDisposable action = do resourceManager <- newResourceManager result <- localResourceManager resourceManager action - pure $ (result, toDisposable resourceManager) + pure (result, toDisposable resourceManager) captureDisposable_ :: MonadResourceManager m => m () -> m Disposable captureDisposable_ = snd <<$>> captureDisposable @@ -442,7 +442,7 @@ instance IsDisposable ResourceManagerCore where state <- readTVar stateVar case state of ResourceManagerNormal -> do - writeTVar stateVar $ ResourceManagerDisposing + writeTVar stateVar ResourceManagerDisposing readTVar lockVar >>= \case 0 -> do disposables <- takeDisposables diff --git a/src/Quasar/Utils/TOnce.hs b/src/Quasar/Utils/TOnce.hs index bd1dba8491b3bacb8522ecb205fb82f45ca76e4c..94013154e1271e0755098b857407c3b30995e3d3 100644 --- a/src/Quasar/Utils/TOnce.hs +++ b/src/Quasar/Utils/TOnce.hs @@ -13,7 +13,8 @@ import Quasar.Awaitable import Quasar.Prelude data TOnceAlreadyFinalized = TOnceAlreadyFinalized - deriving (Eq, Show, Exception) + deriving stock (Eq, Show) + deriving anyclass Exception newtype TOnce a b = TOnce (TVar (Either a b))