summaryrefslogtreecommitdiff
path: root/compiler/iface/TcIface.lhs-boot
diff options
context:
space:
mode:
authorDavid Terei <davidterei@gmail.com>2011-04-29 19:16:31 -0700
committerDavid Terei <davidterei@gmail.com>2011-06-17 18:39:28 -0700
commit3a8df61180ace3941ae3e680f4255b637a29ef05 (patch)
tree140cdcc756acd52bbb5d28440847c04dc6b5fbf0 /compiler/iface/TcIface.lhs-boot
parent0f13e110c01674fe185ead1cd24e234dba2fa22e (diff)
downloadhaskell-3a8df61180ace3941ae3e680f4255b637a29ef05.tar.gz
SafeHaskell: Restrict OverlappingInstances.
OverlappingInstances in Safe modules can only overlap instances defined in the same module.
Diffstat (limited to 'compiler/iface/TcIface.lhs-boot')
-rw-r--r--compiler/iface/TcIface.lhs-boot27
1 files changed, 14 insertions, 13 deletions
diff --git a/compiler/iface/TcIface.lhs-boot b/compiler/iface/TcIface.lhs-boot
index c8ad717918..e6f3b7b0c4 100644
--- a/compiler/iface/TcIface.lhs-boot
+++ b/compiler/iface/TcIface.lhs-boot
@@ -1,20 +1,21 @@
\begin{code}
module TcIface where
-import IfaceSyn ( IfaceDecl, IfaceInst, IfaceFamInst, IfaceRule, IfaceAnnotation )
-import TypeRep ( TyThing )
-import TcRnTypes ( IfL )
-import InstEnv ( Instance )
-import FamInstEnv ( FamInst )
-import CoreSyn ( CoreRule )
-import HscTypes ( TypeEnv, VectInfo, IfaceVectInfo )
-import Module ( Module )
+
+import IfaceSyn ( IfaceDecl, IfaceInst, IfaceFamInst, IfaceRule, IfaceAnnotation )
+import TypeRep ( TyThing )
+import TcRnTypes ( IfL )
+import InstEnv ( Instance )
+import FamInstEnv ( FamInst )
+import CoreSyn ( CoreRule )
+import HscTypes ( TypeEnv, VectInfo, IfaceVectInfo, IfaceTrustInfo )
+import Module ( Module )
import Annotations ( Annotation )
-tcIfaceDecl :: Bool -> IfaceDecl -> IfL TyThing
-tcIfaceRules :: Bool -> [IfaceRule] -> IfL [CoreRule]
-tcIfaceVectInfo:: Module -> TypeEnv -> IfaceVectInfo -> IfL VectInfo
-tcIfaceInst :: IfaceInst -> IfL Instance
-tcIfaceFamInst :: IfaceFamInst -> IfL FamInst
+tcIfaceDecl :: Bool -> IfaceDecl -> IfL TyThing
+tcIfaceRules :: Bool -> [IfaceRule] -> IfL [CoreRule]
+tcIfaceVectInfo :: Module -> TypeEnv -> IfaceVectInfo -> IfL VectInfo
+tcIfaceInst :: IfaceTrustInfo -> IfaceInst -> IfL Instance
+tcIfaceFamInst :: IfaceFamInst -> IfL FamInst
tcIfaceAnnotations :: [IfaceAnnotation] -> IfL [Annotation]
\end{code}