diff --git a/src/Quasar/Disposable.hs b/src/Quasar/Disposable.hs index 2d776cc5c81469c7c8d0fa4d80eeb4eccb30f3d0..b6df3c79455ca7f9f4413585a2eba3ecdbf6b066 100644 --- a/src/Quasar/Disposable.hs +++ b/src/Quasar/Disposable.hs @@ -211,9 +211,11 @@ instance HasResourceManager ResourceManager where class (MonadMask m, MonadIO m) => MonadResourceManager m where askResourceManager :: m ResourceManager + localResourceManager :: ResourceManager -> m a -> m a instance (MonadMask m, MonadIO m) => MonadResourceManager (ReaderT ResourceManager m) where askResourceManager = ask + localResourceManager = local . const onResourceManager :: (HasResourceManager a) => a -> ReaderT ResourceManager m r -> m r