summaryrefslogtreecommitdiff
path: root/compiler/iface
diff options
context:
space:
mode:
authorEdward Z. Yang <ezyang@cs.stanford.edu>2016-10-13 21:34:17 -0700
committerEdward Z. Yang <ezyang@cs.stanford.edu>2016-10-20 12:45:34 -0700
commit7e77c4b2ee08d7f88df8ba47537640ec1bd70bfe (patch)
tree523c9967e676508468a8fe9254a6b35afa2ff65f /compiler/iface
parent518f28959ec56cf27d6a8096a14a6ce9bc8b9816 (diff)
downloadhaskell-7e77c4b2ee08d7f88df8ba47537640ec1bd70bfe.tar.gz
Support constraint synonym implementations of abstract classes.
Summary: Test Plan: validate Reviewers: goldfire, simonpj, austin, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2595 GHC Trac Issues: #12679
Diffstat (limited to 'compiler/iface')
-rw-r--r--compiler/iface/TcIface.hs1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/iface/TcIface.hs b/compiler/iface/TcIface.hs
index ee51b5d353..bb04883760 100644
--- a/compiler/iface/TcIface.hs
+++ b/compiler/iface/TcIface.hs
@@ -202,6 +202,7 @@ typecheckIface iface
-- | Returns true if an 'IfaceDecl' is for @data T@ (an abstract data type)
isAbstractIfaceDecl :: IfaceDecl -> Bool
isAbstractIfaceDecl IfaceData{ ifCons = IfAbstractTyCon _ } = True
+isAbstractIfaceDecl IfaceClass{ ifCtxt = [], ifSigs = [], ifATs = [] } = True
isAbstractIfaceDecl _ = False
-- | Merge two 'IfaceDecl's together, preferring a non-abstract one. If