From 7b8a3f3828a1bbd9cff53dfeb4b23330ce451ad3 Mon Sep 17 00:00:00 2001 From: "Matt von Hagen (Parsons)" Date: Tue, 24 Oct 2023 10:30:20 -0600 Subject: [PATCH] Update src/Database/Esqueleto/Record.hs --- src/Database/Esqueleto/Record.hs | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/Database/Esqueleto/Record.hs b/src/Database/Esqueleto/Record.hs index 72a8b06f2..444ab9890 100644 --- a/src/Database/Esqueleto/Record.hs +++ b/src/Database/Esqueleto/Record.hs @@ -754,13 +754,16 @@ makeToMaybeInstance info@RecordInfo {..} = do -- | Generates a `type ToMaybeT ... = ...` declaration for the given record. toMaybeTDec :: RecordInfo -> Q Dec toMaybeTDec RecordInfo {..} = do - let binders = Nothing - lhs = (ConT ''ToMaybeT) `AppT` (ConT sqlName) - rhs = ConT sqlMaybeName + pure $ mkTySynInstD ''ToMaybeT (ConT sqlName) (ConT sqlMaybeName) + where + mkTySynInstD className lhsArg rhs = #if MIN_VERSION_template_haskell(2,15,0) - pure $ TySynInstD $ TySynEqn binders lhs rhs + let binders = Nothing + lhs = ConT className `AppT` lhsArg + in + TySynInstD $ TySynEqn binders lhs rhs #else - pure $ TySynInstD sqlName $ TySynEqn [lhs] rhs + TySynInstD className $ TySynEqn [lhsArg] rhs #endif -- | Generates a `toMaybe value = ...` declaration for the given record.