diff --git a/src/main/scala/leon/purescala/Trees.scala b/src/main/scala/leon/purescala/Trees.scala index ad833062293a509ded51159a00af7268aea1aba3..4cf4d8bbf794d4eac77bfc4bbd4cd34a65ab0c72 100644 --- a/src/main/scala/leon/purescala/Trees.scala +++ b/src/main/scala/leon/purescala/Trees.scala @@ -478,9 +478,15 @@ object Trees { case class SubsetOf(set1: Expr, set2: Expr) extends Expr with FixedType { val fixedType = BooleanType } - case class SetIntersection(set1: Expr, set2: Expr) extends Expr - case class SetUnion(set1: Expr, set2: Expr) extends Expr - case class SetDifference(set1: Expr, set2: Expr) extends Expr + case class SetIntersection(set1: Expr, set2: Expr) extends Expr { + leastUpperBound(Seq(set1, set2).map(_.getType)).foreach(setType _) + } + case class SetUnion(set1: Expr, set2: Expr) extends Expr { + leastUpperBound(Seq(set1, set2).map(_.getType)).foreach(setType _) + } + case class SetDifference(set1: Expr, set2: Expr) extends Expr { + leastUpperBound(Seq(set1, set2).map(_.getType)).foreach(setType _) + } case class SetMin(set: Expr) extends Expr case class SetMax(set: Expr) extends Expr diff --git a/src/test/scala/leon/test/LeonTestSuite.scala b/src/test/scala/leon/test/LeonTestSuite.scala index 1954187b85200702df8e6c7f79517379b190636a..415832a00804ab4fde9d07561aa2975e0256f256 100644 --- a/src/test/scala/leon/test/LeonTestSuite.scala +++ b/src/test/scala/leon/test/LeonTestSuite.scala @@ -96,8 +96,10 @@ trait LeonTestSuite extends FunSuite with Timeouts { } override def test(name: String, tags: Tag*)(body: => Unit) { + super.test(name, tags: _*) { val id = testIdentifier(name) + val ts = now() testContext = generateContext @@ -111,7 +113,7 @@ trait LeonTestSuite extends FunSuite with Timeouts { val stats = getStats(id) if (!stats.accountsFor(total)) { - fail("Test took too long to run: "+total+"ms (avg: "+stats.avg+", stddev: "+stats.stddev+")") + info(Console.YELLOW+"[warning] Test took too long to run: "+total+"ms (avg: "+stats.avg+", stddev: "+stats.stddev+")") } storeStats(id, stats.withValue(total))