summaryrefslogtreecommitdiff
path: root/testsuite/tests/rep-poly/UnliftedNewtypesLevityBinder.stderr
diff options
context:
space:
mode:
authorsheaf <sam.derbyshire@gmail.com>2022-06-06 15:07:16 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2022-06-09 09:12:19 -0400
commit28880828182a32bcb39ce8230965a8bc17aeb218 (patch)
treeb0a4f8b71af10a381955c2ab75ba0f36a001253e /testsuite/tests/rep-poly/UnliftedNewtypesLevityBinder.stderr
parent56ebf9a5bfc8791c1fa609b960f3c161882540e3 (diff)
downloadhaskell-28880828182a32bcb39ce8230965a8bc17aeb218.tar.gz
Typecheck remaining ValArgs in rebuildHsApps
This patch refactors hasFixedRuntimeRep_remainingValArgs, renaming it to tcRemainingValArgs. The logic is moved to rebuildHsApps, which ensures consistent behaviour across tcApp and quickLookArg1/tcEValArg. This patch also refactors the treatment of stupid theta for data constructors, changing the place we drop stupid theta arguments from dsConLike to mkDataConRep (now the datacon wrapper drops these arguments). We decided not to implement PHASE 2 of the FixedRuntimeRep plan for these remaining ValArgs. Future directions are outlined on the wiki: https://gitlab.haskell.org/ghc/ghc/-/wikis/Remaining-ValArgs Fixes #21544 and #21650
Diffstat (limited to 'testsuite/tests/rep-poly/UnliftedNewtypesLevityBinder.stderr')
-rw-r--r--testsuite/tests/rep-poly/UnliftedNewtypesLevityBinder.stderr9
1 files changed, 3 insertions, 6 deletions
diff --git a/testsuite/tests/rep-poly/UnliftedNewtypesLevityBinder.stderr b/testsuite/tests/rep-poly/UnliftedNewtypesLevityBinder.stderr
index bd4b2ba2ca..e0bdaa5e8c 100644
--- a/testsuite/tests/rep-poly/UnliftedNewtypesLevityBinder.stderr
+++ b/testsuite/tests/rep-poly/UnliftedNewtypesLevityBinder.stderr
@@ -1,12 +1,9 @@
UnliftedNewtypesLevityBinder.hs:15:7: error:
- • The newtype constructor argument
+ • Unsaturated use of a representation-polymorphic newtype constructor.
+ The first argument of ‘IdentC’
does not have a fixed runtime representation.
Its type is:
- a0 :: TYPE c0
- Cannot unify ‘r’ with the type variable ‘c0’
- because it is not a concrete ‘RuntimeRep’.
+ a :: TYPE r
• In the expression: IdentC
In an equation for ‘bad’: bad = IdentC
- • Relevant bindings include
- bad :: a -> Ident a (bound at UnliftedNewtypesLevityBinder.hs:15:1)