newName on keywords fails on ghc 7.10. This patch
is a workaround that appends a suffix before
calling newName

Signed-off-by: Bhimanavajjula Aditya <[email protected]>
---
 src/Ganeti/THH.hs | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/Ganeti/THH.hs b/src/Ganeti/THH.hs
index f38f781..5d4748a 100644
--- a/src/Ganeti/THH.hs
+++ b/src/Ganeti/THH.hs
@@ -1194,8 +1194,13 @@ genDictObject :: (Name -> Field -> Q Exp)  -- ^ a saving 
function
               -> Q [Dec]
 genDictObject save_fn load_fn sname fields = do
   let name = mkName sname
+      -- newName fails in ghc 7.10 when used on keywords
+      newName' "data" = newName "data_ghcBug10599"
+      newName' "instance" = newName "instance_ghcBug10599"
+      newName' "type" = newName "type_ghcBug10599"
+      newName' s = newName s
   -- toDict
-  fnames <- mapM (newName . fieldVariable) fields
+  fnames <- mapM (newName' . fieldVariable) fields
   let pat = conP name (map varP fnames)
       tdexp = [| concat $(listE $ zipWith save_fn fnames fields) |]
   tdclause <- clause [pat] (normalB tdexp) []
-- 
2.5.0.457.gab17608

Reply via email to