import Id
import Var
import Name
-import Class
import Outputable
-- debug = False
-- 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
-- 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.