Fix self call check (same module) in TCO
commitc5063591299cf1f87f6f20135117947cccd78905
authorAndy Arvanitis <andyarvanitis@gmail.com>
dateThu 11 Jul 2019, 17:39 (7 years ago)
parent3df68e4
src/CodeGen/IL/Optimizer/TCO.hs+1
@@ -132,6 +132,7 @@ tco mn = everywhere convert where
132132
133133 isSelfCall :: Text -> AST -> Bool
134134 isSelfCall ident (App _ (Var _ ident') _) = ident == ident'
135+ isSelfCall ident (App _ (Indexer _ (Var _ ident') (Var _ mn')) _) = mn' == "" && ident == ident'
135136 isSelfCall ident (App _ (Indexer _ (Var _ ident') mn') _) = mn' == mn && ident == ident'
136137 isSelfCall ident (App _ fn _) = isSelfCall ident fn
137138 isSelfCall _ _ = False