Closed wrwg closed 3 years ago
Please add -monomorphize
option to the command line. When I add that option, I get the following output:
Boogie program verifier finished with 5 verified, 0 errors
Regardless, the output you see is not ideal. I will look into providing a better error message.
The root problem is that datatypes and generics do not work together currently. So, if both are used in the same file then monomorphization must be enabled using the flag I mentioned. Monomorphization is turned off by default because currently only generic functions and datatypes are supported; generic procedures and implementations cannot be monomorphized right now.
@wrwg :
I just merged a PR that should provide a better error message if datatypes and generics are combined without using monomorphization.
Boogie also supports a flag -lib which automatically links a collection of useful libraries including finite vectors with native equality. See here for an example. If you use -lib on the command line, -monomorphize is implied.
The BPL file bpl.zip produces the following errors when run by Boogie:
Command line (after unzipping):
The culprit seems to be the application of the generic function
function $ForceTrigger<T>(x: T): bool { true }
. I have tried to nail this down to a smaller use case but was not able to do so.@shazqadeer