summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2020-04-22 00:59:26 -0400
committerMarge Bot <ben+marge-bot@smart-cactus.org>2020-05-08 15:29:36 -0400
commitf4d5c6df56a28be5448acf43e4f45b1695ae9eb5 (patch)
tree5f33c35d500de9883feaa2555760c9903a607e5e
parent4e9aef9ea732e8157ee0b7fbb85b2cdfbf49de5f (diff)
downloadhaskell-f4d5c6df56a28be5448acf43e4f45b1695ae9eb5.tar.gz
Rename local `real_fvs` to `implicit_vs`
It doesn't make sense to call the "free" variables we are about to implicitly bind the real ones.
-rw-r--r--compiler/GHC/Rename/HsType.hs10
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/GHC/Rename/HsType.hs b/compiler/GHC/Rename/HsType.hs
index 90540eda08..144534f4ec 100644
--- a/compiler/GHC/Rename/HsType.hs
+++ b/compiler/GHC/Rename/HsType.hs
@@ -324,14 +324,16 @@ rnImplicitBndrs bind_free_tvs
fvs_with_dups
thing_inside
= do { let fvs = nubL fvs_with_dups
- real_fvs | bind_free_tvs = fvs
- | otherwise = []
+ -- implicit_vs are the surface-syntax free vars that are in fact
+ -- actually captured by implicit bindings
+ implicit_vs | bind_free_tvs = fvs
+ | otherwise = []
; traceRn "rnImplicitBndrs" $
- vcat [ ppr fvs_with_dups, ppr fvs, ppr real_fvs ]
+ vcat [ ppr fvs_with_dups, ppr fvs, ppr implicit_vs ]
; loc <- getSrcSpanM
- ; vars <- mapM (newLocalBndrRn . L loc . unLoc) real_fvs
+ ; vars <- mapM (newLocalBndrRn . L loc . unLoc) implicit_vs
; bindLocalNamesFV vars $
thing_inside vars }