diff options
author | Matthew Pickering <matthewtpickering@gmail.com> | 2016-10-08 10:06:01 +0100 |
---|---|---|
committer | Matthew Pickering <matthewtpickering@gmail.com> | 2016-10-08 10:07:14 +0100 |
commit | e660f4bf546e90fb6719ad268ca3daaecdce4b82 (patch) | |
tree | 7c23ed1a6983d951c8950f8105d3889914619d81 /compiler/rename/RnExpr.hs | |
parent | 46b78e604c06c8878e436fea93729158dcf55269 (diff) | |
download | haskell-e660f4bf546e90fb6719ad268ca3daaecdce4b82.tar.gz |
Rework renaming of children in export lists.
The target of this patch is exports such as:
```
module Foo ( T(A, B, C) ) where
```
Essentially this patch makes sure that we use the correct lookup functions in order
to lookup the names in parent-children export lists. This change
highlighted the complexity of this small part of GHC which accounts for
the scale.
This change was motivated by wanting to
remove the `PatternSynonym` constructor from `Parent`. As with all these
things, it quickly spiraled out of control into a much larger refactor.
Reviewers: simonpj, goldfire, bgamari, austin
Subscribers: adamgundry, thomie
Differential Revision: https://phabricator.haskell.org/D2179
GHC Trac Issues: #11970
Diffstat (limited to 'compiler/rename/RnExpr.hs')
-rw-r--r-- | compiler/rename/RnExpr.hs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rename/RnExpr.hs b/compiler/rename/RnExpr.hs index 87e5507f98..7a0f2c89b9 100644 --- a/compiler/rename/RnExpr.hs +++ b/compiler/rename/RnExpr.hs @@ -121,7 +121,7 @@ rnExpr (HsVar (L l v)) Just (Right fs@(_:_:_)) -> return (HsRecFld (Ambiguous (L l v) PlaceHolder) , mkFVs (map selectorFieldOcc fs)); - Just (Right []) -> error "runExpr/HsVar" } } + Just (Right []) -> panic "runExpr/HsVar" } } rnExpr (HsIPVar v) = return (HsIPVar v, emptyFVs) |