summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Scott <rscott@galois.com>2020-12-09 19:39:31 -0500
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-12-11 22:39:29 -0500
commit5feb9b2dad0ce609e3cfb537a6ca758a09a6898e (patch)
tree38d267edc2135a99b5027875c4e3f1da49fbfdc8
parent5eba91b629745746397ed36f25fe592d08ec667b (diff)
downloadhaskell-5feb9b2dad0ce609e3cfb537a6ca758a09a6898e.tar.gz
Delete outdated Note [Kind-checking tyvar binders for associated types]
This Note has severely bitrotted, as it has no references anywhere in the codebase, and none of the functions that it mentions exist anymore. Let's just delete this. While I was in town, I deleted some outdated comments from `checkFamPatBinders` of a similar caliber. Fixes #19008. [ci skip]
-rw-r--r--compiler/GHC/Tc/Gen/HsType.hs18
-rw-r--r--compiler/GHC/Tc/Validity.hs6
2 files changed, 0 insertions, 24 deletions
diff --git a/compiler/GHC/Tc/Gen/HsType.hs b/compiler/GHC/Tc/Gen/HsType.hs
index 84a4553e6e..f41f99be2d 100644
--- a/compiler/GHC/Tc/Gen/HsType.hs
+++ b/compiler/GHC/Tc/Gen/HsType.hs
@@ -2819,24 +2819,6 @@ But notice that (#16322 comment:3)
although T3 is really polymorphic-recursive too.
Perhaps we should somehow reject that.
-Note [Kind-checking tyvar binders for associated types]
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-When kind-checking the type-variable binders for associated
- data/newtype decls
- family decls
-we behave specially for type variables that are already in scope;
-that is, bound by the enclosing class decl. This is done in
-kcLHsQTyVarBndrs:
- * The use of tcImplicitQTKBndrs
- * The tcLookupLocal_maybe code in kc_hs_tv
-
-See Note [Associated type tyvar names] in GHC.Core.Class and
- Note [TyVar binders for associated decls] in GHC.Hs.Decls
-
-We must do the same for family instance decls, where the in-scope
-variables may be bound by the enclosing class instance decl.
-Hence the use of tcImplicitQTKBndrs in tcFamTyPatsAndGen.
-
Note [Kind variable ordering for associated types]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
What should be the kind of `T` in the following example? (#15591)
diff --git a/compiler/GHC/Tc/Validity.hs b/compiler/GHC/Tc/Validity.hs
index 6f290cb7ab..ff6a89d02f 100644
--- a/compiler/GHC/Tc/Validity.hs
+++ b/compiler/GHC/Tc/Validity.hs
@@ -2263,12 +2263,6 @@ checkFamPatBinders :: TyCon
-> [TcType] -- LHS patterns
-> Type -- RHS
-> TcM ()
--- We do these binder checks now, in tcFamTyPatsAndGen, rather
--- than later, in checkValidFamEqn, for two reasons:
--- - We have the implicitly and explicitly
--- bound type variables conveniently to hand
--- - If implicit variables are out of scope it may
--- cause a crash; notably in tcConDecl in tcDataFamInstDecl
checkFamPatBinders fam_tc qtvs pats rhs
= do { traceTc "checkFamPatBinders" $
vcat [ debugPprType (mkTyConApp fam_tc pats)