From db6b957be6a2ca03da52a6fb9d033ef3f236ec18 Mon Sep 17 00:00:00 2001
From: "Emmanouil (Manos) Koukoutos" <emmanouil.koukoutos@epfl.ch>
Date: Fri, 6 Feb 2015 20:33:29 +0100
Subject: [PATCH] Fix a bug in letTuple

---
 src/main/scala/leon/purescala/Constructors.scala | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/scala/leon/purescala/Constructors.scala b/src/main/scala/leon/purescala/Constructors.scala
index 2f7092fce..9ec719e25 100644
--- a/src/main/scala/leon/purescala/Constructors.scala
+++ b/src/main/scala/leon/purescala/Constructors.scala
@@ -23,7 +23,7 @@ object Constructors {
     case Nil =>
       body
     case x :: Nil =>
-      if (value.getType == x.getType || !value.getType.isInstanceOf[TupleType]) {
+      if (isSubtypeOf(value.getType, x.getType) || !value.getType.isInstanceOf[TupleType]) {
         // This is for cases where we build it like: letTuple(List(x), tupleWrap(List(z)))
         Let(x, value, body)
       } else {
-- 
GitLab