on master help sign in
Fix variable shadowing when pattern matching on a pattern with only one variable, when it appears in a let-expression
585107eEvan Czaplicki
compiler/Type/Constrain/Expression.hs+1−1
@@ -195,7 +195,7 @@ expandPattern triple@(pattern, lexpr@(L s _), maybeType) =
195 _ -> (PVar x, lexpr, maybeType) : map toDef vars
195 _ -> (PVar x, lexpr, maybeType) : map toDef vars
196 where
196 where
197 vars = Set.toList $ SD.boundVars pattern
197 vars = Set.toList $ SD.boundVars pattern
198− x = concat vars
198+ x = "$" ++ concat vars
199 var = L s . Var
199 var = L s . Var
200 toDef y = (PVar y, L s $ Case (var x) [(pattern, var y)], Nothing)
200 toDef y = (PVar y, L s $ Case (var x) [(pattern, var y)], Nothing)
201
201