diff --git a/src/main/scala/leon/utils/InliningPhase.scala b/src/main/scala/leon/utils/InliningPhase.scala index cc2862c76c78415aab7efa3b3a841a2baefaa211..8053a8dc1e9956c9ef264c247d41f8d96ffbb934 100644 --- a/src/main/scala/leon/utils/InliningPhase.scala +++ b/src/main/scala/leon/utils/InliningPhase.scala @@ -38,13 +38,13 @@ object InliningPhase extends TransformationPhase { } for (fd <- p.definedFunctions) { - fd.fullBody = simplify(preMap { + fd.fullBody = simplify(preMap ({ case FunctionInvocation(TypedFunDef(fd, tps), args) if doInline(fd) => val newBody = instantiateType(fd.fullBody, (fd.tparams zip tps).toMap, Map()) Some(replaceFromIDs(fd.params.map(_.id).zip(args).toMap, newBody)) case _ => None - }(fd.fullBody)) + }, applyRec = true)(fd.fullBody)) } filterFunDefs(p, fd => !doInline(fd))