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) [] -- 1.7.10.4
