[commit: ghc] master: Fix get_op in the case of an unambiguous record selector (#13132) (38374ca)

git at git.haskell.org git at git.haskell.org
Wed Jan 18 22:40:06 UTC 2017


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/38374caa9d6e1373d1b9d335d0f99f3664931fd9/ghc

>---------------------------------------------------------------

commit 38374caa9d6e1373d1b9d335d0f99f3664931fd9
Author: Reid Barton <rwbarton at gmail.com>
Date:   Wed Jan 18 16:24:28 2017 -0500

    Fix get_op in the case of an unambiguous record selector (#13132)
    
    Test Plan: validate
    
    Reviewers: simonpj, austin, bgamari
    
    Reviewed By: bgamari
    
    Subscribers: thomie
    
    Differential Revision: https://phabricator.haskell.org/D2985
    
    GHC Trac Issues: #13132


>---------------------------------------------------------------

38374caa9d6e1373d1b9d335d0f99f3664931fd9
 compiler/rename/RnTypes.hs                      | 1 +
 testsuite/tests/rename/should_compile/T13132.hs | 5 +++++
 testsuite/tests/rename/should_compile/all.T     | 1 +
 3 files changed, 7 insertions(+)

diff --git a/compiler/rename/RnTypes.hs b/compiler/rename/RnTypes.hs
index 6cd6ea8..421fba5 100644
--- a/compiler/rename/RnTypes.hs
+++ b/compiler/rename/RnTypes.hs
@@ -1227,6 +1227,7 @@ get_op :: LHsExpr Name -> Name
 -- See RnExpr.rnUnboundVar
 get_op (L _ (HsVar (L _ n)))   = n
 get_op (L _ (HsUnboundVar uv)) = mkUnboundName (unboundVarOcc uv)
+get_op (L _ (HsRecFld (Unambiguous _ n))) = n
 get_op other                   = pprPanic "get_op" (ppr other)
 
 -- Parser left-associates everything, but
diff --git a/testsuite/tests/rename/should_compile/T13132.hs b/testsuite/tests/rename/should_compile/T13132.hs
new file mode 100644
index 0000000..7070607
--- /dev/null
+++ b/testsuite/tests/rename/should_compile/T13132.hs
@@ -0,0 +1,5 @@
+module Bug where
+
+newtype ContT r m a = ContT { runContT :: (a -> m r) -> m r }
+
+foo bar baz = (`runContT` bar.baz)
diff --git a/testsuite/tests/rename/should_compile/all.T b/testsuite/tests/rename/should_compile/all.T
index 90d955b..2963905 100644
--- a/testsuite/tests/rename/should_compile/all.T
+++ b/testsuite/tests/rename/should_compile/all.T
@@ -245,3 +245,4 @@ test('T12127',
 test('T12533', normal, compile, [''])
 test('T12597', normal, compile, [''])
 test('T12548', normal, compile, [''])
+test('T13132', normal, compile, [''])



More information about the ghc-commits mailing list