Fix info propigation from fallback combinator's second Property.
This commit is contained in:
parent
4da4c4a70f
commit
04d4d0d6c4
|
@ -4,6 +4,7 @@ propellor (1.4.0) UNRELEASED; urgency=medium
|
|||
* Properties now form a tree, instead of the flat list used before.
|
||||
This includes the properties used inside a container.
|
||||
(API change)
|
||||
* Fix info propigation from fallback combinator's second Property.
|
||||
|
||||
-- Joey Hess <id@joeyh.name> Thu, 15 Jan 2015 20:14:29 -0400
|
||||
|
||||
|
|
|
@ -92,11 +92,13 @@ check c p = adjustProperty p $ \satisfy -> ifM (liftIO c)
|
|||
-- | Tries the first property, but if it fails to work, instead uses
|
||||
-- the second.
|
||||
fallback :: Property -> Property -> Property
|
||||
fallback p1 p2 = adjustProperty p1 $ \satisfy -> do
|
||||
r <- satisfy
|
||||
if r == FailedChange
|
||||
then propertySatisfy p2
|
||||
else return r
|
||||
fallback p1 p2 = p1' { propertyChildren = p2 : propertyChildren p1' }
|
||||
where
|
||||
p1' = adjustProperty p1 $ \satisfy -> do
|
||||
r <- satisfy
|
||||
if r == FailedChange
|
||||
then propertySatisfy p2
|
||||
else return r
|
||||
|
||||
-- | Marks a Property as trivial. It can only return FailedChange or
|
||||
-- NoChange.
|
||||
|
|
Loading…
Reference in New Issue