summaryrefslogtreecommitdiff
path: root/testsuite/tests/quotes
diff options
context:
space:
mode:
authorAlec Theriault <alec.theriault@gmail.com>2019-04-17 08:07:52 -0700
committerMarge Bot <ben+marge-bot@smart-cactus.org>2019-04-18 22:52:25 -0400
commit57cf113302eee6068a1b10cba348f4b7de7faeae (patch)
tree3542f990a72d4f3f8bbdd8965e6b2a82d5ea9d75 /testsuite/tests/quotes
parent5988f17a799ba3416bb6ed539ae65e1f3fd9f2c0 (diff)
downloadhaskell-57cf113302eee6068a1b10cba348f4b7de7faeae.tar.gz
TH: make `Lift` and `TExp` levity-polymorphic
Besides the obvious benefits of being able to manipulate `TExp`'s of unboxed types, this also simplified `-XDeriveLift` all while making it more capable. * `ghc-prim` is explicitly depended upon by `template-haskell` * The following TH things are parametrized over `RuntimeRep`: - `TExp(..)` - `unTypeQ` - `unsafeTExpCoerce` - `Lift(..)` * The following instances have been added to `Lift`: - `Int#`, `Word#`, `Float#`, `Double#`, `Char#`, `Addr#` - unboxed tuples of lifted types up to arity 7 - unboxed sums of lifted types up to arity 7 Ideally we would have levity-polymorphic _instances_ of unboxed tuples and sums. * The code generated by `-XDeriveLift` uses expression quotes instead of generating large amounts of TH code and having special hard-coded cases for some unboxed types.
Diffstat (limited to 'testsuite/tests/quotes')
-rw-r--r--testsuite/tests/quotes/TH_localname.stderr12
1 files changed, 1 insertions, 11 deletions
diff --git a/testsuite/tests/quotes/TH_localname.stderr b/testsuite/tests/quotes/TH_localname.stderr
index df38597f2c..d872a622b3 100644
--- a/testsuite/tests/quotes/TH_localname.stderr
+++ b/testsuite/tests/quotes/TH_localname.stderr
@@ -9,17 +9,7 @@ TH_localname.hs:3:11: error:
(bound at TH_localname.hs:3:1)
Probable fix: use a type annotation to specify what ‘t0’ should be.
These potential instances exist:
- instance (Language.Haskell.TH.Syntax.Lift a,
- Language.Haskell.TH.Syntax.Lift b) =>
- Language.Haskell.TH.Syntax.Lift (Either a b)
- -- Defined in ‘Language.Haskell.TH.Syntax’
- instance Language.Haskell.TH.Syntax.Lift Integer
- -- Defined in ‘Language.Haskell.TH.Syntax’
- instance Language.Haskell.TH.Syntax.Lift a =>
- Language.Haskell.TH.Syntax.Lift (Maybe a)
- -- Defined in ‘Language.Haskell.TH.Syntax’
- ...plus 14 others
- ...plus 12 instances involving out-of-scope types
+ 29 instances involving out-of-scope types
(use -fprint-potential-instances to see them all)
• In the expression: Language.Haskell.TH.Syntax.lift y
In the expression: