[commit: ghc] master: Drop redundant Note (50a35e5)

git at git.haskell.org git at git.haskell.org
Thu Jun 21 15:31:16 UTC 2018

Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/50a35e59034c8616ce5b0fcd3ca2b1757273a552/ghc


commit 50a35e59034c8616ce5b0fcd3ca2b1757273a552
Author: Ryan Scott <ryan.gl.scott at gmail.com>
Date:   Thu Jun 21 11:29:53 2018 -0400

    Drop redundant Note
    Richard added a much better version of this Note in commit
    26e9806ada8823160dd63ca2c34556e5848b2f45, so I've decided to point
    to that instead.


 compiler/typecheck/TcHsType.hs | 21 +--------------------
 1 file changed, 1 insertion(+), 20 deletions(-)

diff --git a/compiler/typecheck/TcHsType.hs b/compiler/typecheck/TcHsType.hs
index 205ec9e..322863f 100644
--- a/compiler/typecheck/TcHsType.hs
+++ b/compiler/typecheck/TcHsType.hs
@@ -1204,7 +1204,7 @@ tcTyVar mode name         -- Could be a tyvar, a tycon, or a datacon
     -- We cannot promote a data constructor with a context that contains
     -- constraints other than equalities, so error if we find one.
-    -- See Note [Don't promote data constructors with non-equality contexts]
+    -- See Note [Constraints handled in types] in Inst.
     dc_theta_illegal_constraint :: ThetaType -> Maybe PredType
     dc_theta_illegal_constraint = find go
@@ -1378,25 +1378,6 @@ in the e2 example, we'll desugar the type, zonking the kind unification
 variables as we go.  When we encounter the unconstrained kappa, we
 want to default it to '*', not to (Any *).
-Note [Don't promote data constructors with non-equality contexts]
-With -XTypeInType, one can promote almost any data constructor. There is a
-notable exception to this rule, however: data constructors that contain
-non-equality constraints, such as:
-  data Foo a where
-    MkFoo :: Show a => Foo a
-MkFoo cannot be promoted since GHC cannot produce evidence for (Show a) at the
-kind level. Therefore, we check the context of each data constructor before
-promotion, and give a sensible error message if the context contains an illegal
-Note that equality constraints (i.e, (~) and (~~)) /are/
-permitted inside data constructor contexts. All other constraints are
-off-limits, however (and likely will remain off-limits until dependent types
-become a reality in GHC).
 Help functions for type applications

More information about the ghc-commits mailing list