From dd7023d264426982026293f0c83046c3ca7ac2bb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9gis=20Blanc?= <regwblanc@gmail.com>
Date: Tue, 5 Jun 2012 13:16:39 +0200
Subject: [PATCH] fix bug with tuple type casting

---
 src/main/scala/leon/plugin/CodeExtraction.scala | 2 +-
 testcases/regression/valid/MyTuple4.scala       | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/scala/leon/plugin/CodeExtraction.scala b/src/main/scala/leon/plugin/CodeExtraction.scala
index ae7d8c0e5..4649532ad 100644
--- a/src/main/scala/leon/plugin/CodeExtraction.scala
+++ b/src/main/scala/leon/plugin/CodeExtraction.scala
@@ -528,8 +528,8 @@ trait CodeExtraction extends Extractors {
         case Some(e3) => e3
         case None => nextExpr match {
           case ExTuple(tpes, exprs) => {
-            val tupleType = TupleType(tpes.map(tpe => scalaType2PureScala(unit, silent)(tpe)))
             val tupleExprs = exprs.map(e => rec(e))
+            val tupleType = TupleType(tupleExprs.map(expr => bestRealType(expr.getType)))
             Tuple(tupleExprs).setType(tupleType)
           }
           case ExTupleExtract(tuple, index) => {
diff --git a/testcases/regression/valid/MyTuple4.scala b/testcases/regression/valid/MyTuple4.scala
index 4b87272e2..6fcfed661 100644
--- a/testcases/regression/valid/MyTuple4.scala
+++ b/testcases/regression/valid/MyTuple4.scala
@@ -1,5 +1,5 @@
 
-object MyTuple1 {
+object MyTuple4 {
 
   abstract class A
   case class B(i: Int) extends A
-- 
GitLab