Massive patch for the first months work adding System FC to GHC #15
[ghc-hetmet.git] / compiler / typecheck / TcInstDcls.lhs
index 45338d0..c610594 100644 (file)
@@ -51,7 +51,6 @@ pass, when the class-instance envs and GVE contain all the info from
 all the instance and value decls.  Indeed that's the reason we need
 two passes over the instance decls.
 
 all the instance and value decls.  Indeed that's the reason we need
 two passes over the instance decls.
 
-
 Here is the overall algorithm.
 Assume that we have an instance declaration
 
 Here is the overall algorithm.
 Assume that we have an instance declaration
 
@@ -451,7 +450,10 @@ tcMethods origin clas inst_tyvars' dfun_theta' inst_tys'
     let
        prag_fn        = mkPragFun uprags
        all_insts      = avail_insts ++ catMaybes meth_insts
     let
        prag_fn        = mkPragFun uprags
        all_insts      = avail_insts ++ catMaybes meth_insts
-       tc_method_bind = tcMethodBind inst_tyvars' dfun_theta' all_insts prag_fn
+       sig_fn n       = Just []        -- No scoped type variables, but every method has
+                                       -- a type signature, in effect, so that we check
+                                       -- the method has the right type
+       tc_method_bind = tcMethodBind inst_tyvars' dfun_theta' all_insts sig_fn prag_fn
        meth_ids       = [meth_id | (_,meth_id,_) <- meth_infos]
     in
 
        meth_ids       = [meth_id | (_,meth_id,_) <- meth_infos]
     in