diff --git a/src/main/scala/leon/purescala/TypeOps.scala b/src/main/scala/leon/purescala/TypeOps.scala index 5c68340e678e1bf4858ed943dfffa9cb29f4b51c..0e7493018c8aef6e52d0a894c8bafaa5ae89ab17 100644 --- a/src/main/scala/leon/purescala/TypeOps.scala +++ b/src/main/scala/leon/purescala/TypeOps.scala @@ -260,7 +260,7 @@ object TypeOps { (LiteralPattern(newOb,lit), (ob zip newOb).toMap) case _ => - sys.error("woot!?") + sys.error(s"woot!? $p:$expType") } (srec(e), cases.map(trCase))//.copiedFrom(m) diff --git a/src/main/scala/leon/utils/InliningPhase.scala b/src/main/scala/leon/utils/InliningPhase.scala index dea267601cb4a5296ac6b88541679b5688fbf4ab..cc2862c76c78415aab7efa3b3a841a2baefaa211 100644 --- a/src/main/scala/leon/utils/InliningPhase.scala +++ b/src/main/scala/leon/utils/InliningPhase.scala @@ -40,8 +40,8 @@ object InliningPhase extends TransformationPhase { for (fd <- p.definedFunctions) { fd.fullBody = simplify(preMap { case FunctionInvocation(TypedFunDef(fd, tps), args) if doInline(fd) => - val newBody = replaceFromIDs(fd.params.map(_.id).zip(args).toMap, fd.fullBody) - Some(instantiateType(newBody, (fd.tparams zip tps).toMap, Map())) + 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))