shithub: MicroHs

Download patch

ref: fdc6a7cb63f1f6949ac1096c08ed873197b8bc32
parent: 5a5f8336492b005277dd361f905f2d72f8f14a9a
author: Lennart Augustsson <lennart.augustsson@epicgames.com>
date: Mon Oct 23 14:47:42 EDT 2023

Rename methods in signatures too.

--- a/src/MicroHs/TypeCheck.hs
+++ b/src/MicroHs/TypeCheck.hs
@@ -1097,11 +1097,14 @@
                 S.return (BFcn mi eqns)
               f b = S.return b
           in  S.runState (S.mapM f bs) (1, [])
+      bs'' = map tr bs'
+        where tr (BSign i t) = BSign (fromMaybe i $ lookup i ims) t
+              tr b = b
       meths = map meth mis
         where meth i = EVar $ fromMaybe (mkDefaultMethodId i) $ lookup i ims
       sups = map (const (EVar $ mkIdentSLoc loc "dict$")) supers
       args = sups ++ meths
-  let bind = Fcn iInst [Eqn [] $ EAlts [([], foldl EApp (EVar $ mkClassConstructor iCls) args)] bs']
+  let bind = Fcn iInst [Eqn [] $ EAlts [([], foldl EApp (EVar $ mkClassConstructor iCls) args)] bs'']
   mn <- gets moduleName
   addInstTable [(EVar $ qualIdent mn iInst, vks, ctx, cc)]
   T.return [dinst, sign, bind]
--