Closed jad-hamza closed 3 years ago
It seems like we don't deal with tuple types inside ADTs correctly.
You can probably fix this by extracting the tuple type caching logic here into a getGenericTupleType
method and using it inside both declareStructuralSort
and declareDatatypes
.
@jad-hamza IIRC you fixed this already, right?
Yes, thanks!
The error arises here: https://github.com/epfl-lara/inox/blob/775294883f9037ed4e67651786c621d467a66255/src/main/scala/inox/tip/Printer.scala#L164 on a tuple of two elements, while the
tuples
map is empty.I guess
declareStructuralSort
isn't called on thatTuple
beforehand. The Stainless example (I can minimize and post the example if needed) contains an ADT with two type parameters and an array of pairs insideMyADT[A, B](a: Array[(A, B)], ...)
.