Dafny 4.8.0
New features
-
Introduce
hidestatements that enable hiding the body of a function at a particular proof location, which allows simplifying the verification of that proof in case the body of the function is not needed for the proof.Hidestatements make the opaque keyword on functions obsolete. Requires--type-system-refresh(#5562) -
Let the command
measure-complexityoutput which verification tasks performed the worst in terms of resource count. Output looks like:Verification task on line 8 in file measure-complexity.dfy consumed 9984 resources Verification task on line 7 in file measure-complexity.dfy consumed 9065 resources(#5631)
-
Enable the option
--enforce-determinismfor the commandsresolveandverify(#5632) -
Method calls get an optional by-proof that hides the precondtion and its proof (#5662)
Bug fixes
-
Clarify error location of inlined
ispredicates. (#5587) -
Optimize the compilation of single-LHS assignment statements to allow the RHS to be a deeply nested expression. This solves a problem in compiling to Java, since
javacdoes not deal gracefully with nested lambda expressions. (#5589) -
Crash when compiling an empty source file while including testing code (#5638)
-
Let the options
--print-mode=NoGhostOrIncludesand--print-mode=NoIncludeswork (#5645) -
Verification in the IDE now works correctly when declaring nested module in a different file than their parent. (#5650)
-
Fix NRE that would occur when using --legacy-data-constructors (#5655)