summaryrefslogtreecommitdiff
path: root/Test/dafny0
Commit message (Collapse)AuthorAge
* Make /autoTriggers:1 to be default. Add /autoTriggers:0 to tests that requiresGravatar qunyanm2016-03-28
| | | | | it. Don't use pretty warning signs since we can't diff them correctly in the test output from the test run.
* Update module export error messages. Also for "import Y" if there is at leastGravatar qunyanm2016-03-21
| | | | | one exported view, but no exported view is marked as default, then it is an error.
* Fix issue 93. Add per-function fuel setting that can be adjusted locally basedGravatar qunyanm2016-03-18
| | | | on context.
* Fix issue 136. Less aggressive Lit wrap for assert/assume.Gravatar qunyanm2016-02-26
|
* Renamed identifiers for increased geopolitical appealGravatar Rustan Leino2016-02-08
|
* Fix issue 125. Add the missing case 2 and 3 with refinement and opened imports.Gravatar qunyanm2016-02-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the following situation module LibA { // ...things declared here... } module LibB { // ...things declared here... } module R { import opened LibA // ...things declared here... } module S refines R { import opened LibB // ...declared here... } 1. If module R declares a TopLevelDecl “G”, then we should report an error if S attempts to declare an incompatible TopLevelDecl “G”. Dafny does this already. 2. If LibA declares a TopLevelDecl “G” but R does not directly declare any TopLevelDecl G”, then we should also issue an error for any TopLevelDecl “G” in S. This behavior is missing in Dafny. 3. If each of LibA and LibB declares some TopLevelDecl “G”, but neither R nor S directly declares any TopLevelDecl “G”, then no error should be issued, and any use of “G” in S should resolve to the “G” in LibA. This behavior is missing in Dafny.
* Mark old "import A as B" syntax as deprecated. The new syntax is "import A : B"Gravatar qunyanm2016-02-02
|
* Implement module export so we can export a subset of items defined in theGravatar qunyanm2016-01-29
| | | | module.
* Fix build and test failures, cleanup grammar.Gravatar Richard L. Ford2016-01-27
| | | | | | | | | | 1. A build failure caused by a method call before a contract was fixed. 2. An absolute path in an ".expect" file was changed to relative. 3. I eliminated the TopDecls and DeclModifiers non-terminals. They were giving a warning from Coco/R about being deletable. Instead I used repetition of the TopDecl or DeclModifier non-terminals where they had been used. I think this is also cleaner to talk about.
* Add ExternNegative2.dfy.expect.Gravatar Richard L. Ford2016-01-27
| | | | | | In the prior commit the ExternNegative2.dfy.expect file was accidentally not included. It is needed in order for that test to pass.
* Implement 'extern' declaration modifier.Gravatar Richard L. Ford2016-01-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The 'extern' declaration modifier provides a more convenient way of interfacing Dafny code with C# source files and .Net DLLs. We support an 'extern' keyword on a module, class, function method, or method (cannot extern ghost). We check the CompileNames of all modules to make sure there are no duplicate names. Every Dafny-generated C# class is marked partial, so it can potentially be extended. The extern keyword could be accompanied by an optional string naming the corresponding C# method/class to connect to. If not given the name of the method/class is used. An 'extern' keyword implies an {:axiom} attribute for functions and methods, so their ensures clauses are assumed to be true without proof. In addition to the .dfy files, the user may supply C# files (.cs) and dynamic linked libraries (.dll) on command line. These will be passed onto the C# compiler, the .cs files as sources, and the .dll files as references. As part of this change the grammar was refactored some. New productions are - TopDecls - a list of top-level declarations. - TopDecl - a single top-level declaration - DeclModifiers - a list of declaration modifiers which are either 'abstract', 'ghost', 'static', 'protected', or 'extern'. They can be in any order and we diagnose duplicates. In addition, since they are not all allowed in all contexts, we check and give diagnostics if an DeclModifier appears where it is not allowed.
* Fix issue 103. Emit the quantifiers for ForallStmt before AutoTrigger so thatGravatar qunyanm2015-11-25
| | | | the auto-triggers can be computed for ForallStmt.
* Fixed compilation of equality between reference typesGravatar leino2015-11-11
|
* Fix issue 91 - Change how we compute the bounds of quantified variables so thatGravatar qunyanm2015-10-29
| | | | it does not depend on the order they appeared.
* In method and iterator specifications, inline top-level predicates (exceptGravatar leino2015-10-24
| | | | protected predicated in cross-module calls) like in other places.
* Introduced new datatype update syntax: D.(f := E)Gravatar leino2015-10-23
| | | | | The old syntax, D[f := E], is still supported for a short while, but generates a warning about that syntax being deprecated. The new syntax also supports multiple updates: D.(f := E0, g := E1, h := E2)
* Improve Dafny's ability to find fueled functions by checking the function ↵Gravatar Bryan Parno2015-10-19
| | | | | | itself, as well as the signature and body of other functions.
* Renamed ExistentialGuards... to BindingGuards...Gravatar Rustan Leino2015-10-07
|
* Use /env:0 to avoid full pathnames in test outputGravatar Rustan Leino2015-10-06
|
* Implemented resolution, verification, and (poorly performing) compilation of ↵Gravatar leino2015-10-05
| | | | | | | existential if guards. Fixed bugs in ghost checks involving comprehensions and attributes. Added SubstituteBoundedPool method.
* Parsing and pretty printing of the new "existential guards" of the two kinds ↵Gravatar leino2015-10-03
| | | | of "if" statements.
* Made /rewriteFocalPredicates:1 the defaultGravatar Rustan Leino2015-10-02
|
* Hover text includes #[_k-1] suffix for terms rewritten in prefix ↵Gravatar Rustan Leino2015-10-02
| | | | | | | predicates/lemmas (this fixes an item from the wishlist). Include in hover text the extreme predicates for which an extreme lemmas has been rewritten (but don't include ==# in this list--or should it perhaps be included?). Under a (temporary) switch /rewriteFocalPredicates, each use of a focal predicate P in a prefix lemma is rewritten into P#[_k-1].
* Removed specContextOnly parameter from ResolveStatement.Gravatar leino2015-09-28
| | | | Moved all bounds discovery to resolution pass 1.
* Removed more traces of the previous resolution checks that happened during ↵Gravatar leino2015-09-28
| | | | | | pass 0. Fixed resolution of specification components of alternative loops.
* Additional testsGravatar leino2015-09-28
|
* Whitespace changes in test fileGravatar leino2015-09-28
|
* Changed computation of ghosts until pass 2 of resolution.Gravatar leino2015-09-28
| | | | | | | Other clean-up in resolution passes, like: Include everything of type "char" into bounds that are discovered, and likewise for reference types. Allow more set comprehensions, determining if they are finite based on their argument type. Changed CalcExpr.SubExpressions to not include computed expressions.
* Added back in various ghost testsGravatar leino2015-09-20
|
* Changes that only affect line numbers in test caseGravatar leino2015-09-20
|
* Removed tabs from test fileGravatar leino2015-09-20
|
* Preliminary refactoring of ghost-statement computations to after type checkingGravatar leino2015-09-20
|
* MergeGravatar Clément Pit--Claudel2015-09-02
|\
* | Add a small test from a discussion with BryanGravatar Clément Pit--Claudel2015-08-28
| |
* | Implement workarounds for some tests that fail with /autoTriggers.Gravatar Clément Pit--Claudel2015-08-28
| | | | | | | | | | | | The issues here are mostly with induction (wrt. to trigger selection and quantifier splitting) and with expressions like P(i, j-1) where no good choices are available.
* | Suppress many warnings in the test suite.Gravatar Clément Pit--Claudel2015-08-28
| | | | | | | | | | We already have separate tests for those, and we want the output to be the same with and without /autoTriggers.
| * Added tests for Boogie's new /verifySnapshots:3, which will be used by the ↵Gravatar Rustan Leino2015-08-28
|/ | | | Dafny emacs mode
* Add change missing from bd47e3cdb79cGravatar Clément Pit--Claudel2015-08-23
|
* Added /autoTriggers to two tests where it only makes a cosmetic differenceGravatar Clément Pit--Claudel2015-08-23
|
* Replace b || !b by true in Snapshots5.v1.dfyGravatar Clément Pit--Claudel2015-08-23
| | | | | | We can't prove `exists b: bool :: b || !b` when splitting is enabled, at least for now, and there's already a separate test for that particular issue in wishlist/
* Fix: multi-dimensional OOB errors were sometimes reported on incorrect ↵Gravatar Clément Pit--Claudel2015-08-23
| | | | locations.
* MergeGravatar Rustan Leino2015-08-20
|\
* | Fixed compilation that involve enumeration over native-type newtype values.Gravatar Rustan Leino2015-08-20
| |
| * Merge.Gravatar Clément Pit--Claudel2015-08-20
| |\ | |/ |/|
* | MergeGravatar Rustan Leino2015-08-20
|\ \
| | * Add a test to check that there are as many errors as failed preconditionsGravatar Clément Pit--Claudel2015-08-19
| |/
* | Refactored and improved bounds discoveryGravatar Rustan Leino2015-08-19
| |
| * Merge.Gravatar Clément Pit--Claudel2015-08-19
| |\ | |/ |/| | | | | Changes that were needed included preventing the InductionRewriter from iterating on a SplitQuantifier and using the new error reporting engine.
| * Cleanup indentation of trigger warningsGravatar Clément Pit--Claudel2015-08-19
| |
| * Draft out a more advanced version of trigger generationGravatar Clément Pit--Claudel2015-08-19
| | | | | | | | This new version will include a cleaner pipeline, and trigger splitting.