diff options
author | Ryan Scott <rscott@galois.com> | 2020-12-09 19:39:31 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-12-11 22:39:29 -0500 |
commit | 5feb9b2dad0ce609e3cfb537a6ca758a09a6898e (patch) | |
tree | 38d267edc2135a99b5027875c4e3f1da49fbfdc8 | |
parent | 5eba91b629745746397ed36f25fe592d08ec667b (diff) | |
download | haskell-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.hs | 18 | ||||
-rw-r--r-- | compiler/GHC/Tc/Validity.hs | 6 |
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) |