summaryrefslogtreecommitdiff
path: root/src/Propellor/Property/Concurrent.hs
diff options
context:
space:
mode:
authorJoey Hess2015-10-24 16:43:26 -0400
committerJoey Hess2015-10-24 17:53:26 -0400
commit2410a8f1d6c850142181d724f4abd706a82b9593 (patch)
tree9c824830406ed9531826100d0f2aee255abe8f4c /src/Propellor/Property/Concurrent.hs
parente9cac11ad3df54208b4a41d945ac9a333d21bb07 (diff)
improve RevertableProperty combining
* Various property combinators that combined a RevertableProperty with a non-revertable property used to yield a RevertableProperty. This was a bug, because the combined property could not be fully reverted in many cases. Fixed by making the combined property instead be a Property HasInfo. * combineWith now takes an addional parameter to control how revert actions are combined (API change).
Diffstat (limited to 'src/Propellor/Property/Concurrent.hs')
-rw-r--r--src/Propellor/Property/Concurrent.hs10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/Propellor/Property/Concurrent.hs b/src/Propellor/Property/Concurrent.hs
index 95fd9fc5..c57f5228 100644
--- a/src/Propellor/Property/Concurrent.hs
+++ b/src/Propellor/Property/Concurrent.hs
@@ -21,11 +21,11 @@ import Control.Monad.RWS.Strict
-- | Ensures two properties concurrently.
concurrently
- :: (IsProp (Property x), IsProp (Property y), Combines (Property x) (Property y), IsProp (Property (CInfo x y)))
- => Property x
- -> Property y
- -> CombinedType (Property x) (Property y)
-concurrently p1 p2 = (combineWith go p1 p2)
+ :: (IsProp p1, IsProp p2, Combines p1 p2, IsProp (CombinedType p1 p2))
+ => p1
+ -> p2
+ -> CombinedType p1 p2
+concurrently p1 p2 = (combineWith go go p1 p2)
`describe` d
where
d = getDesc p1 ++ " `concurrently` " ++ getDesc p2