diff --git a/src/main/scala/leon/purescala/Constructors.scala b/src/main/scala/leon/purescala/Constructors.scala index f0b2a975b1517b2f9fd31422d3e9a911f9489d98..a5ef87e1df891c4b77eeaa2515722e67b3985cb1 100644 --- a/src/main/scala/leon/purescala/Constructors.scala +++ b/src/main/scala/leon/purescala/Constructors.scala @@ -145,7 +145,7 @@ object Constructors { resType match { case Some(tpe) => - casesFiltered.filter(c => isSubtypeOf(c.rhs.getType, tpe) || isSubtypeOf(tpe, c.rhs.getType)) + casesFiltered.filter(c => typesCompatible(c.rhs.getType, tpe)) case None => casesFiltered }