diff --git a/src/main/scala/leon/purescala/FunctionClosure.scala b/src/main/scala/leon/purescala/FunctionClosure.scala index 8e119a30076abe8875eebef9bd3f21744fc39bba..71a76ce9018e946f11462285aad69dbd59c4199f 100644 --- a/src/main/scala/leon/purescala/FunctionClosure.scala +++ b/src/main/scala/leon/purescala/FunctionClosure.scala @@ -75,7 +75,7 @@ object FunctionClosure extends TransformationPhase { // println(from.uniqueName + " -> " + to.uniqueName) //} f.fullBody = preMap { - case FunctionInvocation(tfd, args) if closed contains tfd.fd => + case fi@FunctionInvocation(tfd, args) if closed contains tfd.fd => val FunSubst(newFd, newParams, newTParams) = closed(tfd.fd) // New -> old map for function call @@ -94,7 +94,7 @@ object FunctionClosure extends TransformationPhase { Some(FunctionInvocation( newFd.typed(tfd.tps ++ tFinalExtra), args ++ extraArgs - )) + ).copiedFrom(fi)) case _ => None }(f.fullBody) }