From cf154f69afa6f5b515c65145716bf8e61729aab5 Mon Sep 17 00:00:00 2001
From: Manos Koukoutos <emmanouil.koukoutos@epfl.ch>
Date: Wed, 7 Oct 2015 16:34:47 +0200
Subject: [PATCH] Fix simplestValue

---
 src/main/scala/leon/purescala/ExprOps.scala | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/main/scala/leon/purescala/ExprOps.scala b/src/main/scala/leon/purescala/ExprOps.scala
index 84b1957b5..2f1c610c0 100644
--- a/src/main/scala/leon/purescala/ExprOps.scala
+++ b/src/main/scala/leon/purescala/ExprOps.scala
@@ -1112,17 +1112,17 @@ object ExprOps {
     case ArrayType(tpe)             => EmptyArray(tpe)
 
     case act @ AbstractClassType(acd, tpe) =>
-      val children = act.knownCCDescendants
+      val ccDesc = act.knownCCDescendants
 
       def isRecursive(cct: CaseClassType): Boolean = {
         cct.fieldsTypes.exists{
-          case AbstractClassType(fieldAcd, _) => acd == fieldAcd
-          case CaseClassType(fieldCcd, _) => acd == fieldCcd
+          case AbstractClassType(fieldAcd, _) => acd.root == fieldAcd.root
+          case CaseClassType(fieldCcd, _) => acd.root == fieldCcd.root
           case _ => false
         }
       }
 
-      val nonRecChildren = children.filterNot(isRecursive).sortBy(_.fields.size)
+      val nonRecChildren = ccDesc.filterNot(isRecursive).sortBy(_.fields.size)
 
       nonRecChildren.headOption match {
         case Some(cct) =>
-- 
GitLab