Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Created by
brew bumpCreated with
brew bump-formula-pr.release notes
Stabilize verifications by automatically computing triggers for the quantified proof obligations associated with
:|constructs.Manually specified triggers and warning-suppressing attributes are also supported (and mentioned in warning messages, as for other quantifiers and comprehensions).
Enhance witness guessing for the proof obligation associated for
:|assignments.(feat: Compute triggers for such-that operations dafny-lang/dafny#6023)
Four new Dafny standard libraries:
Std.Actions- utilities for abstract imperative actions, including enumerating and streaming valuesStd.Frames- utilities related to working with dynamic framing, often related to reads and modifies clausesStd.Ordinal- operations and properties of the ORDINAL typeStd.Termination- a datatype for representing Dafny decreases clauses and extensions(feat: Actions, Frames, Termination, and Ordinal standard libraries dafny-lang/dafny#6074)
Support using
--standard-librarieswith--enforce-determinism. RemovedStd.Collections.Seq.SetToSeqsince it was slow and not compatible with this mode. (https://github.com/dafny-lang/dafny/pull/6137)
With
--standard-librariesyou can now read an UTF-8 text files from the disk usingStd.FileIO.ReadUTF8FromFile(path: string): Result<string, string>.To write some content to the disk, use
Std.FileIO.WriteUTF8ToFile(path: string, content: string): Outcome<string>.Standard library breaking change: All
UnicodeEncodingFormversions ofFromUTF8Checked,FromUTF16CheckedandDecodeCodeUnitSequenceCheckednow return aResultinstead of anOptionso that the error message is clearer. Migration is easy: Use.ToOption()if you really prefer an option. Affected refining modules:Utf8EncodingFormandUtf16EncodingForm(Feat:
Std.FileIO.ReadFileandWriteFiledafny-lang/dafny#6198)The Dafny standard libraries now include a powerful parser combinators framework, available through
Std.Parsers.StringBuilders.Key Features
.??()(DSL) or?(...)(standard syntax)(Reinstate "Feat: Verified and easy-to-use parser combinators (#6143)" dafny-lang/dafny#6243)
Dafny classes and traits can now redeclare methods defined by traits they inherit from. (Allow redeclaring trait methods dafny-lang/dafny#6280)
Real literals now support scientific notation using lowercase
eto denote the exponent (like1.23e5for123000.0or5e-2for0.05). Real literals also support convenient trailing-dotshorthand (like
1.for1.0) and leading-dot shorthand (like.5for0.5or.5e2for50.0). Note that explicit+signs in exponents are not supported; use5e2instead of5e+2. (https://github.com/dafny-lang/dafny/pull/6286)
Bug fixes
Fix soundness issue that could occur when using an opaque block and old or fresh in its ensures clause (Opaque blocks allow proving false dafny-lang/dafny#6060)
Correctly display project files errors when using build command (Error does not mention faulty dfyconfig.toml file dafny-lang/dafny#6107)
Fix crash that could occur when a
forallstatement was used inside amatchcase(fix: Fix crash when a simple forall statement was placed inside a match dafny-lang/dafny#6121)Fix a case where a forall statement would cause Dafny to crash (Unable to cast object of type 'Microsoft.Dafny.BinaryExpr' to type 'Microsoft.Dafny.QuantifierExpr' dafny-lang/dafny#6129)
Fix @VerifyOnly and migrated the new code to use it (
@VerifyOnlynot working dafny-lang/dafny#6146)Java lambdas now accepting boxing/unboxing (Java equality between chars fails if one is unboxed. dafny-lang/dafny#6149)
Fix crash in resolution of structural-inclusion greater-than operator (fix: Fix crash in resolution of structural-inclusion greater-than operator dafny-lang/dafny#6155)
Generate alloc consequence axiom only for functions that read the heap (fixes unsoundness) (Soundness issue with constructors? dafny-lang/dafny#6164)
Made the language server compliant with the LSP protocol so that it can be used with other editors, such as Helix (Non-compliant LSP message prevents wider editor support dafny-lang/dafny#6172)
No more compilation issue when using bitvector shifts in Rust with the new resolver (Bitvector issue with
--type-system-refreshdafny-lang/dafny#6196)Fix handling of opaque blocks in the Dafny IDE (Opaque blocks not working in VSCode extension dafny-lang/dafny#6203)
JSON serialization now properly encodes unicode characters with 0 pre-pend instead of space-append.
Also, string literals ending with escaped characters are now supported as well.
(Standard Library serialization and deserialization error dafny-lang/dafny#6227)
Fail more gracefully when reusing names (fix: Fail more gracefully when reusing names dafny-lang/dafny#6262)
Escape user string literals in error messages (fix: Escape string literals in error messages dafny-lang/dafny#6273)
Compilation of type conversion from a
newtype-based onchartoint(fix: C# compilation of newtype-char to int conversion dafny-lang/dafny#6296)Fix LSP bug that cause IDE exceptions during invalid parse states (Fix LSP bug that returned a invalid range for documentSymbol dafny-lang/dafny#6299)
Fix two resolver crashes involving datatypes and traits (Fixes resolver crashes related to datatypes and traits dafny-lang/dafny#6321)
View the full release notes at https://github.com/dafny-lang/dafny/releases/tag/v4.11.0.