From 665ea0d3d9e1b0e90278fd659dee0ef8642030da Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 2 Jul 2019 00:43:40 -0400 Subject: Revert "custom type error messages" This reverts commits 14f6ae30809d8bbdb10b91cc59757e865a365df8 de21ef26861db458b0dfb0212cf501f9f8ed459b e20662e6a8881db55394a6366be17ca4e509bc2a Until this bug is resolved, these custom error types hide more basic errors. https://gitlab.haskell.org/ghc/ghc/issues/16894 --- src/Propellor/PropAccum.hs | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-) (limited to 'src/Propellor/PropAccum.hs') diff --git a/src/Propellor/PropAccum.hs b/src/Propellor/PropAccum.hs index 3fc83202..c60ced73 100644 --- a/src/Propellor/PropAccum.hs +++ b/src/Propellor/PropAccum.hs @@ -19,7 +19,6 @@ import Propellor.Types.MetaTypes import Propellor.Types.Core import Propellor.Property -import GHC.TypeLits import Data.Monoid import Prelude @@ -46,16 +45,6 @@ type family GetMetaTypes x where GetMetaTypes (Property (MetaTypes t)) = MetaTypes t GetMetaTypes (RevertableProperty (MetaTypes t) undo) = MetaTypes t --- When many properties are combined, ghc error message --- can include quite a lot of code, typically starting with --- `props and including all the properties up to and including the --- one that fails to combine. Point the user in the right direction. -type family NoteFor symbol :: ErrorMessage where - NoteFor symbol = - 'Text "Probably the problem is with the last property added with " - ':<>: symbol - ':<>: 'Text " in the code excerpt below." - -- | Adds a property to a Props. -- -- Can add Properties and RevertableProperties @@ -66,7 +55,7 @@ type family NoteFor symbol :: ErrorMessage where -- this constraint appears redundant, but is actually -- crucial. , MetaTypes y ~ GetMetaTypes p - , CheckCombinableNote x y (NoteFor ('Text "&")) ~ 'True + , CheckCombinable x y ~ 'CanCombine ) => Props (MetaTypes x) -> p @@ -81,7 +70,7 @@ Props c & p = Props (c ++ [toChildProperty p]) -- this constraint appears redundant, but is actually -- crucial. , MetaTypes y ~ GetMetaTypes p - , CheckCombinableNote x y (NoteFor ('Text "&^")) ~ 'True + , CheckCombinable x y ~ 'CanCombine ) => Props (MetaTypes x) -> p @@ -93,7 +82,7 @@ Props c &^ p = Props (toChildProperty p : c) -- -Wredundant-constraints is turned off because -- this constraint appears redundant, but is actually -- crucial. - :: (CheckCombinableNote x z (NoteFor ('Text "!")) ~ 'True) + :: (CheckCombinable x z ~ 'CanCombine) => Props (MetaTypes x) -> RevertableProperty (MetaTypes y) (MetaTypes z) -> Props (MetaTypes (Combine x z)) -- cgit v1.2.3