diff options
author | David Terei <davidterei@gmail.com> | 2011-04-29 19:16:31 -0700 |
---|---|---|
committer | David Terei <davidterei@gmail.com> | 2011-06-17 18:39:28 -0700 |
commit | 3a8df61180ace3941ae3e680f4255b637a29ef05 (patch) | |
tree | 140cdcc756acd52bbb5d28440847c04dc6b5fbf0 /compiler/iface/TcIface.lhs-boot | |
parent | 0f13e110c01674fe185ead1cd24e234dba2fa22e (diff) | |
download | haskell-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-boot | 27 |
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} |