summaryrefslogtreecommitdiff
path: root/compiler/hsSyn/HsUtils.hs
diff options
context:
space:
mode:
authorRyan Scott <ryan.gl.scott@gmail.com>2017-05-11 15:46:02 -0400
committerBen Gamari <ben@smart-cactus.org>2017-05-11 17:33:12 -0400
commiteaf9cc4240019c2e91922ef38ae7236b59d59bdd (patch)
treeb90ed99633d2094dea9dec8dd2e98416cc929615 /compiler/hsSyn/HsUtils.hs
parent2277172ac3ea0bbeddebc9999a5d8b5f9f58afc9 (diff)
downloadhaskell-eaf9cc4240019c2e91922ef38ae7236b59d59bdd.tar.gz
Fix collect_lpat's treatment of HsSplicedPats
`collect_lpat` was missing a case for `HsSplicedPat`, which caused incorrect renaming of TH-spliced pattern variables. Fixes #13473. Test Plan: make test TEST=T13473 Reviewers: facundominguez, austin, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie GHC Trac Issues: #13473 Differential Revision: https://phabricator.haskell.org/D3572
Diffstat (limited to 'compiler/hsSyn/HsUtils.hs')
-rw-r--r--compiler/hsSyn/HsUtils.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler/hsSyn/HsUtils.hs b/compiler/hsSyn/HsUtils.hs
index 2b3a5c642a..a15aa1576e 100644
--- a/compiler/hsSyn/HsUtils.hs
+++ b/compiler/hsSyn/HsUtils.hs
@@ -965,6 +965,9 @@ collect_lpat (L _ pat) bndrs
go (SigPatIn pat _) = collect_lpat pat bndrs
go (SigPatOut pat _) = collect_lpat pat bndrs
+
+ go (SplicePat (HsSpliced _ (HsSplicedPat pat)))
+ = go pat
go (SplicePat _) = bndrs
go (CoPat _ pat _) = go pat