summaryrefslogtreecommitdiff
path: root/src/Propellor/EnsureProperty.hs
diff options
context:
space:
mode:
authorJoey Hess2016-11-11 17:29:11 -0400
committerJoey Hess2016-11-11 17:29:25 -0400
commitc0d0e57257fe8dee1f9d37a6d49b6322af985a69 (patch)
treebe921c1ad45c42e6ed1c987fc51d6e9b7e013689 /src/Propellor/EnsureProperty.hs
parentc24acf55af190bc332b29d0ef4a04dda9335b01a (diff)
Clean up build warnings about redundant constraints when built with ghc 8.0.
Only a couple of the constraints were really redundant. The rest are essential to propellor's tracking of Info propigation, so I silenced the warning for those. It would be better to only silence the warning for the functions with the extra constraints, but IIRC warnings can only be silenced on an entire file basis. This commit was sponsored by Andreas on Patreon.
Diffstat (limited to 'src/Propellor/EnsureProperty.hs')
-rw-r--r--src/Propellor/EnsureProperty.hs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/Propellor/EnsureProperty.hs b/src/Propellor/EnsureProperty.hs
index c4666722..e8602047 100644
--- a/src/Propellor/EnsureProperty.hs
+++ b/src/Propellor/EnsureProperty.hs
@@ -3,6 +3,7 @@
{-# LANGUAGE PolyKinds #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE UndecidableInstances #-}
+{-# OPTIONS_GHC -fno-warn-redundant-constraints #-}
module Propellor.EnsureProperty
( ensureProperty
@@ -37,6 +38,9 @@ import Prelude
-- with the property to be lost.
ensureProperty
::
+ -- -Wredundant-constraints is turned off because
+ -- this constraint appears redundant, but is actually
+ -- crucial.
( Cannot_ensureProperty_WithInfo inner ~ 'True
, (Targets inner `NotSuperset` Targets outer) ~ 'CanCombine
)
@@ -45,7 +49,7 @@ ensureProperty
-> Propellor Result
ensureProperty _ = catchPropellor . getSatisfy
--- The name of this was chosen to make type errors a more understandable.
+-- The name of this was chosen to make type errors a bit more understandable.
type family Cannot_ensureProperty_WithInfo (l :: [a]) :: Bool
type instance Cannot_ensureProperty_WithInfo '[] = 'True
type instance Cannot_ensureProperty_WithInfo (t ': ts) =