Note [quantifyTyVars]
quantifyTyVars is given the free vars of a type that we are about to wrap in a forall. It takes these free type/kind variables (partitioned into dependent and non-dependent variables) skolemises metavariables with a TcLevel greater than the ambient level (see Note [Use level numbers for quantification]). * This function distinguishes between dependent and non-dependent variables only to keep correct defaulting behavior with -XNoPolyKinds. With -XPolyKinds, it treats both classes of variables identically. * quantifyTyVars never quantifies over - a coercion variable (or any tv mentioned in the kind of a covar) - a runtime-rep variable
References 1
- Use level numbers for quantification GHC.Tc.Utils.TcMType
Referenced by 2
- GHC.Tc.Utils.TcMType call site ×2