X-Git-Url: http://git.megacz.com/?p=ghc-hetmet.git;a=blobdiff_plain;f=compiler%2FdeSugar%2FDsBinds.lhs;fp=compiler%2FdeSugar%2FDsBinds.lhs;h=d7a88c00cf87b27171e47b4a983c6dc4e758a706;hp=48fad92d5e5922cf88962616e92517c711e820ed;hb=5723262f616ac02ddf637f6ff480a599c737ea0d;hpb=fbb99e831a0c0510e79b2f0c91bbdffd142ea951 diff --git a/compiler/deSugar/DsBinds.lhs b/compiler/deSugar/DsBinds.lhs index 48fad92..d7a88c0 100644 --- a/compiler/deSugar/DsBinds.lhs +++ b/compiler/deSugar/DsBinds.lhs @@ -230,11 +230,11 @@ dsEvBinds bs = return (map dsEvGroup sccs) mk_node b@(EvBind var term) = (b, var, free_vars_of term) free_vars_of :: EvTerm -> [EvVar] - free_vars_of (EvId v) = [v] - free_vars_of (EvCast v co) = v : varSetElems (tyVarsOfType co) - free_vars_of (EvCoercion co) = varSetElems (tyVarsOfType co) - free_vars_of (EvDFunApp _ _ vs) = vs - free_vars_of (EvSuperClass d _) = [d] + free_vars_of (EvId v) = [v] + free_vars_of (EvCast v co) = v : varSetElems (tyVarsOfType co) + free_vars_of (EvCoercion co) = varSetElems (tyVarsOfType co) + free_vars_of (EvDFunApp _ _ vs _) = vs + free_vars_of (EvSuperClass d _) = [d] dsEvGroup :: SCC EvBind -> DsEvBind dsEvGroup (AcyclicSCC (EvBind co_var (EvSuperClass dict n))) @@ -261,10 +261,10 @@ dsEvGroup (CyclicSCC bs) ds_pair (EvBind v r) = (v, dsEvTerm r) dsEvTerm :: EvTerm -> CoreExpr -dsEvTerm (EvId v) = Var v -dsEvTerm (EvCast v co) = Cast (Var v) co -dsEvTerm (EvDFunApp df tys vars) = Var df `mkTyApps` tys `mkVarApps` vars -dsEvTerm (EvCoercion co) = Type co +dsEvTerm (EvId v) = Var v +dsEvTerm (EvCast v co) = Cast (Var v) co +dsEvTerm (EvDFunApp df tys vars _deps) = Var df `mkTyApps` tys `mkVarApps` vars +dsEvTerm (EvCoercion co) = Type co dsEvTerm (EvSuperClass d n) = ASSERT( isClassPred (classSCTheta cls !! n) ) -- We can only select *dictionary* superclasses