@@ -745,7 +745,7 @@ infInitEnv env self (Expr l e : b)
745
745
infInitEnv env self b = infSuiteEnv env b
746
746
747
747
abstractDefs env q eq b = map absDef b
748
- where absDef (Decl l ds) = Decl l (map absDef' ds)
748
+ where absDef (Decl l ds) = Decl l (map absDef' ds)
749
749
absDef (If l bs els) = If l [ Branch e (map absDef ss) | Branch e ss <- bs ] (map absDef els)
750
750
absDef stmt = stmt
751
751
absDef' d@ Def {} = d{ pos = pos1, dbody = bindWits eq ++ dbody d }
@@ -762,8 +762,9 @@ instance Check Decl where
762
762
st <- newTVar
763
763
wellformed env1 q
764
764
wellformed env1 a
765
- when (inClass env) $ do
766
- unify (DfltInfo l 600 Nothing [] ) tSelf $ selfType p k dec
765
+ when (inClass env) $
766
+ -- unify (DfltInfo l 600 Nothing []) tSelf $ selfType p k dec
767
+ unify (Simple l " Type of first parameter of class method does not unify with Self" ) tSelf $ selfType p k dec
767
768
(csp,te0,p') <- infEnv env1 p
768
769
(csk,te1,k') <- infEnv (define te0 env1) k
769
770
(csb,_,b') <- infDefBody (define te1 (define te0 env1)) n p' k' b
@@ -1296,7 +1297,7 @@ instance Infer Expr where
1296
1297
let con = case t of
1297
1298
TOpt _ _ -> Sel (Simple l (Pretty. print t ++ " does not have an attribute " ++ Pretty. print n ++
1298
1299
" \n Hint: you may need to test if " ++ Pretty. print e ++ " is not None" )) w t n t0
1299
- _ -> Sel (DfltInfo (loc e) 86 (Just e) [] ) w t n t0
1300
+ _ -> Sel (DfltInfo l 86 (Just e) [] ) w t n t0
1300
1301
return (con : cs, t0, eCall (eVar w) [e'])
1301
1302
1302
1303
infer env e@ (Rest _ _ _) = notYetExpr e
@@ -1405,7 +1406,7 @@ instance Infer Expr where
1405
1406
infer env (Paren l e) = do (cs,t,e') <- infer env e
1406
1407
return (cs, t, Paren l e')
1407
1408
1408
- inferCall env unwrap l e ps ks = do (cs1,t,e') <- infer env e
1409
+ inferCall env unwrap l e ps ks = do (cs1,t,e') <- infer env e{eloc = l}
1409
1410
(cs1,t,e') <- if unwrap && actorSelf env then wrapped l attrUnwrap env cs1 [t] [e'] else pure (cs1,t,e')
1410
1411
(cs2,prow,ps') <- infer env ps
1411
1412
(cs3,krow,ks') <- infer env ks
0 commit comments