[Git][ghc/ghc][wip/T25647] use TyVarTv instead of SkolemTv for freeArg `_`, since we also do not default...

Patrick (@soulomoon) gitlab at gitlab.haskell.org
Sat Feb 15 00:43:18 UTC 2025



Patrick pushed to branch wip/T25647 at Glasgow Haskell Compiler / GHC


Commits:
65988f52 by Patrick at 2025-02-15T08:43:08+08:00
use TyVarTv instead of SkolemTv for freeArg `_`, since we also do not default TyVarTv in defaultTyVar and defaultTyVarTcS

- - - - -


2 changed files:

- compiler/GHC/Tc/Gen/HsType.hs
- compiler/GHC/Tc/Utils/TcMType.hs


Changes:

=====================================
compiler/GHC/Tc/Gen/HsType.hs
=====================================
@@ -2267,11 +2267,8 @@ tcAnonWildCardOcc is_extra (TcTyMode { mode_holes = Just (hole_lvl, hole_mode) }
                HM_FamSig    -> fsLit "_"
                HM_VTA       -> fsLit "w"
                HM_TyAppPat  -> fsLit "_"
-     newSkolemTvDetailsAtLevel tclvl =
-              do { skol_info <- mkSkolemInfo FamInstSkol
-                  ; return (SkolemTv skol_info tclvl False) }
      mk_wc_details = case hole_mode of
-                      HM_FamPat FreeArg -> newSkolemTvDetailsAtLevel
+                      HM_FamPat FreeArg -> newTyVarMetaVarDetailsAtLevel
                       _ -> newTauTvDetailsAtLevel
      emit_holes = case hole_mode of
                      HM_Sig       -> True


=====================================
compiler/GHC/Tc/Utils/TcMType.hs
=====================================
@@ -34,7 +34,7 @@ module GHC.Tc.Utils.TcMType (
 
   newMultiplicityVar,
   readMetaTyVar, writeMetaTyVar, writeMetaTyVarRef,
-  newNoDefTauTvDetailsAtLevel, newTauTvDetailsAtLevel,
+  newTyVarMetaVarDetailsAtLevel, newTauTvDetailsAtLevel,
   newMetaDetails, newMetaTyVarName,
   isFilledMetaTyVar_maybe, isFilledMetaTyVar, isUnfilledMetaTyVar,
 
@@ -901,10 +901,10 @@ newTauTvDetailsAtLevel tclvl
                         , mtv_ref   = ref
                         , mtv_tclvl = tclvl }) }
 
-newNoDefTauTvDetailsAtLevel :: TcLevel -> TcM TcTyVarDetails
-newNoDefTauTvDetailsAtLevel tclvl
+newTyVarMetaVarDetailsAtLevel :: TcLevel -> TcM TcTyVarDetails
+newTyVarMetaVarDetailsAtLevel tclvl
   = do { ref <- newMutVar Flexi
-       ; return (MetaTv { mtv_info  = NoDefTauTv
+       ; return (MetaTv { mtv_info  = TyVarTv
                         , mtv_ref   = ref
                         , mtv_tclvl = tclvl }) }
 



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/65988f52616919dd5a87fbd9612384856f527bff

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/65988f52616919dd5a87fbd9612384856f527bff
You're receiving this email because of your account on gitlab.haskell.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20250214/256f0a92/attachment-0001.html>


More information about the ghc-commits mailing list