Open aaronbembenek opened 8 months ago
Hi, It is a current limitation of Soufflé: ADT and record values returned by a user-defined functor cannot get destructed into sub-parts. The semantics checker does not catch this limitation and eventually you get this assertion error.
Alternatively you can do this:
.decl Q(p:Pair)
Q(p) :- p = @mypair().
P(x,y) :- Q([x,y]).
I have a fix that is part of an ongoing work, although I cannot tell yet when it will land in master
.
Thanks for your response! I will work around it for now :)
I tried this program
and got this assertion error:
I used the most recent version of Souffle:
This might be the same underlying issue as #2213.
Unlike #2294 and #2318, there are no explicit
inline
qualifiers in this example.