Fix recursive superclasses (again). Fixes Trac #4809.
[ghc-hetmet.git] / compiler / vectorise / Vectorise / Type / PADict.hs
index a15f671..ed6264a 100644 (file)
@@ -19,7 +19,6 @@ import TypeRep
 import Id
 import Var
 import Name
-import Class
 import Outputable
 
 -- debug               = False
@@ -54,7 +53,6 @@ buildPADict vect_tc prepr_tc arr_tc repr
 
       -- Build the type of the dictionary function.
       pa_tc            <- builtin paTyCon
-      let pa_opitems   = [(id, NoDefMeth) | id <- method_ids]
       let Just pa_cls  = tyConClass_maybe pa_tc
 
       let dfun_ty      = mkForAllTys tvs
@@ -62,7 +60,8 @@ buildPADict vect_tc prepr_tc arr_tc repr
 
       -- Set the unfolding for the inliner.
       raw_dfun <- newExportedVar dfun_name dfun_ty
-      let dfun = raw_dfun `setIdUnfolding`  mkDFunUnfolding dfun_ty (map Var method_ids)
+      let dfun_unf = mkDFunUnfolding dfun_ty (map (DFunPolyArg . Var) method_ids)
+          dfun = raw_dfun `setIdUnfolding`  dfun_unf
                           `setInlinePragma` dfunInlinePragma
 
       -- Add the new binding to the top-level environment.