You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
in two consecutive runs reports returns different error message:
kuncak@kuncak-x1yog6: (main)~/software/stainless/tmp$ stainless LawAndOrder.scala --timeout=10
[ Info ] Finished compiling
[ Info ] Preprocessing finished
[ Info ] Finished lowering the symbols
[ Info ] GeneratingVCsfor17 functions...
[ Fatal ] LawAndOrder.scala:13:23:VariableT43 is not defined in context:
[ Fatal ] Kind: argument types (call isOrdering(x, T))
[ Fatal ] CheckSAT:false
[ Fatal ] EmitVCs:true
[ Fatal ] Functions: isOrdering, choose$0, IntAbsToBigInt, ObjectPrimitiveSize, BigIntAbs, compare, choose$2, is$anon
[ Fatal ] ADTs:Object
[ Fatal ] TypeVariables:
[ Fatal ] TermVariables:
[ Fatal ] A: (Object) =>Boolean
[ Fatal ] B: (Object) =>Boolean
[ Fatal ] thiss: { x: Object| (is$anon(x, A, B)):@dropConjunct }
[ Fatal ] x: ({ x: Object| (A(x)):@dropConjunct }, { x: Object| (B(x)):@dropConjunct })
[ Fatal ] y: ({ x: Object| (A(x)):@dropConjunct }, { x: Object| (B(x)):@dropConjunct })
[ Fatal ] T: (Object) =>Boolean
[ Fatal ] T==A
[ Fatal ] thiss.isInstanceOf[$anon]
[ Fatal ] x: Object
[ Fatal ] x == thiss.ordA
[ Fatal ] x: Object
[ Fatal ] x == x
[ Fatal ]
definverse(x: T, y: T):Boolean=
^
[ Error ] Stainless terminated with an error.
[ Error ] Debug output is available in the file `stainless-stack-trace.txt`. If the crash is caused by Stainless, you may report your issue on https://github.com/epfl-lara/stainless/issues
[ Error ] You may use --debug=stack to have the stack trace displayed in the output.
kuncak@kuncak-x1yog6: (main)~/software/stainless/tmp$ stainless LawAndOrder.scala --timeout=10
[ Info ] Finished compiling
[ Info ] Preprocessing finished
[ Info ] Finished lowering the symbols
[ Info ] GeneratingVCsfor17 functions...
[ Fatal ] LawAndOrder.scala:36:21:Call to function compare is not allowed here, because it is mutually recursive with the current function compare
valcompA= ordA.compare(x._1, y._1)
^^^^^^^^^^^^^^^^^^^^^^^^
[ Error ] Stainless terminated with an error.
[ Error ] Debug output is available in the file `stainless-stack-trace.txt`. If the crash is caused by Stainless, you may report your issue on https://github.com/epfl-lara/stainless/issues
[ Error ] You may use --debug=stack to have the stack trace displayed in the output.
Maybe depending on the solver the termination checker takes different paths and some of them trigger the bug.
The ability to handle the example may need some assumptions about well-formedness on type arguments that do not necessarily hold in the presence of polymorphic recursion (which we don't handle, but the termination checker is not using that fact either).
The text was updated successfully, but these errors were encountered:
On Version: 0.9.8.7-14-g7fd69e2
this code
in two consecutive runs reports returns different error message:
Maybe depending on the solver the termination checker takes different paths and some of them trigger the bug.
The ability to handle the example may need some assumptions about well-formedness on type arguments that do not necessarily hold in the presence of polymorphic recursion (which we don't handle, but the termination checker is not using that fact either).
The text was updated successfully, but these errors were encountered: