-
Notifications
You must be signed in to change notification settings - Fork 256
Permalink
Loading
Choose a base ref
{{ refName }}
default
Loading
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: dafny-lang/dafny
base: 4a5d40b
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: dafny-lang/dafny
compare: 7929556
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 11 commits
- 82 files changed
- 6 contributors
Commits on Dec 2, 2021
-
fix: Set/forall comprehensions with subtyping for issue #697 (#1522)
This PR is a quick fix for issues #697 and #698. The problem: Unsound comprehensions with subset types. For-comprehensions, Exist-comprehensions, Map-comprehensions and Set-comprehensions had a problem when encountering subset types: Dafny was not emiting the code of the subset constraint, to ensure that the constraint of the comprehension is not executed with undesirable data. The solution implemented in this PR: Added field [ConstraintIsCompilable](https://github.com/dafny-lang/dafny/pull/1522/files#diff-7d845d452486b0b59700ca5c133f2648f76d44616148081d51efffe32dbc6e7aR2680) for SubsetTypeDecl expressions. If a comprehension uses a subsettype whose ConstraintIsCompilable is false, will raise two errors, the second one indicating why it is not compilable In the compiler, the function [MaybeInjectSubsetConstraint](https://github.com/dafny-lang/dafny/pull/1522/files#diff-998a9162635a910ca366a26c8f679ea96d6bbb3f703a52ca1487fd19599de49dR4743) which injects the guard code for for-comprehensions, exists-comprehensions, map-comprehensions and set-comprehensions. How I tested it. I added 8 tests: git-issues/git-issue-697.dfy: A set comprehension with compilable subset constraint that did not compile correctly and used to crash at execution. Now it compiles and does not crash. git-issues/git-issue-697b.dfy: A map comprehension with compilable subset constraint that did not compile correctly and used to crash at execution. Now it compiles and does not crash. git-issues/git-issue-697c.dfy: A set comprehension, a map comprehension and a forall comprehension with ghost subset constraint that used to compile and crash at execution. Now it does not compiles and raises six errors. git-issues/git-issue-697d.dfy: A set comprehension with ghost & compilable subset constraint that used to compile and crash at execution. Now it compiles and does not crash. git-issues/git-issue-697e.dfy: A forall comprehension with only inferred ghost subset constraint. It used to compile and crash at execution time. Now it compiles and does not crash. git-issues/git-issue-697f.dfy: A ghost subset constraint that is never used in comprehensions. It used to compile and continues to compile, ensuring this PR does not break this existing desirable behavior. git-issues/git-issue-698.dfy: A forall comprehension with compilable subset constraint that did not compile correctly and used to crash at execution. Now it compiles and does not crash. git-issues/git-issue-698b.dfy: An exist comprehension with compilable subset constraint that did not compile correctly and used to crash at execution. Now it compiles and does not crash.
Configuration menu - View commit details
-
Copy full SHA for 37d38f0 - Browse repository at this point
Copy the full SHA 37d38f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0bf9558 - Browse repository at this point
Copy the full SHA 0bf9558View commit details -
chore: Enable
csharp_prefer_braces
(#1621)Previously we relied on enforcing this at review time. This PR adds a warning in the IDE and fixes all current violations. dotnet-format can only enforce this when analysing a whole project, which is surprisingly expensive (30s), so we don't make changes to the pre-commit hook at this time. dotnet tool run dotnet-format -s error -w Source/Dafny.sln Also moved .editorconfig so it affects all files (including the `.cs` files under `Test`).
Configuration menu - View commit details
-
Copy full SHA for 0e8d973 - Browse repository at this point
Copy the full SHA 0e8d973View commit details
Commits on Dec 7, 2021
-
Move customBoogie references one level higher (#1633)
* Move customBoogie references one level higher * Update msbuild build file Co-authored-by: Remy Willems <>
Configuration menu - View commit details
-
Copy full SHA for 1165d51 - Browse repository at this point
Copy the full SHA 1165d51View commit details
Commits on Dec 8, 2021
-
Adding a Python Compiler which can pass the test IKnowThisMuchIs.dfy.
Configuration menu - View commit details
-
Copy full SHA for 69410e8 - Browse repository at this point
Copy the full SHA 69410e8View commit details -
chore: Enable
dotnet_style_parentheses_in_other_binary_operators
(#……1627) add `dotnet_style_parentheses_in_other_binary_operators` as a warning and fix violations
Configuration menu - View commit details
-
Copy full SHA for c7792c2 - Browse repository at this point
Copy the full SHA c7792c2View commit details
Commits on Dec 10, 2021
-
feat: Prevent changes unrelated to a proof from changing the verifica…
…tion behavior of the proof (#1612) In DafnyOptions.cs, turn on Boogie's `Prune` and `NormaliseNames` option, and turn off `EmitDebugInformation`, to increase verification stability. Use `uses` clauses on constants and functions, both in DafnyPrelude.bpl and in generated Boogie declarations, and the `include_dep` attribute on axioms, to ensure not too much is pruned. More information on these Boogie features can be found in the PRs that introduce them: boogie-org/boogie#450, boogie-org/boogie#452, boogie-org/boogie#453, boogie-org/boogie#454, boogie-org/boogie#464 In follow-up PRs, we will replace all `include_dep` with `uses` clauses, since they allow more but still correct pruning. This PR also updates the test `SchorrWaite.dfy` to make it more stable. Changes stolen from #1620
Configuration menu - View commit details
-
Copy full SHA for b6d7ae8 - Browse repository at this point
Copy the full SHA b6d7ae8View commit details
Commits on Dec 13, 2021
-
feat: Variance on datatypes for C# (#1578)
Resolves #1499, by introducing a new interface above the existing abstract class containing shared functionality for the constructors, along with new tests. (See the updated comment for `CompileDatatypeBase`) We don't provide an implementation of `DowncastCopy` in this PR.
Configuration menu - View commit details
-
Copy full SHA for 929fee8 - Browse repository at this point
Copy the full SHA 929fee8View commit details -
Configuration menu - View commit details
-
Copy full SHA for c8e5320 - Browse repository at this point
Copy the full SHA c8e5320View commit details
Commits on Dec 14, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 42e228d - Browse repository at this point
Copy the full SHA 42e228dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7929556 - Browse repository at this point
Copy the full SHA 7929556View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 4a5d40b...7929556