diff --git a/src/main/scala/leon/plugin/CodeExtraction.scala b/src/main/scala/leon/plugin/CodeExtraction.scala index ae7d8c0e5c90f54afc179b5ee17fbf1ef885db1b..4649532adafd24739a9c8082036929c5906abf95 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 4b87272e23f7d9f2a3c33c29b5d455b88f234ddb..6fcfed661beca0487da4b02db71677e2dbaac60e 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