Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove warnings in forall #158

Merged
merged 11 commits into from
Aug 20, 2024
Merged

Conversation

seebees
Copy link
Contributor

@seebees seebees commented Aug 5, 2024

We are still using this.
Need to move over to the DafnyStandardLibrary, but that is not compiled with utf8-false yet.

By submitting this pull request, I confirm that my contribution is made under the terms of the MIT license.

Copy link
Member

@robin-aws robin-aws left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to not be sneaky about it :) we're removing SetToSeq because it's the only case of non-determinism in the library (and the pending Dafny 4.8 will fix the scope of --enforce-determinism to catch it), and too slow for production code anyway.

@atomb atomb merged commit dbb1949 into dafny-lang:master Aug 20, 2024
4 checks passed
robin-aws added a commit to dafny-lang/dafny that referenced this pull request Mar 4, 2025
…6137)

### What was changed?
Build the standard libraries with `enforce-determinism = true` in
general, so consumers can use that option too. This is especially
important now since it turns out Rust code generation requires this
option.

This was blocked by the non-deterministic `var x :| x in s;` statement
in `Seq.SetToSeq`, so I've also removed that just as we did previously
from `dafny-lang/libraries`:
dafny-lang/libraries#158 (review).
Unfortunately a breaking change, but done in the name of soundness, and
the implementation was O(n^2) and not suitable for most production use
anyway.


### How has this been tested?
Also updated standard libraries tests to specify `enforce-determinism =
true`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants