summaryrefslogtreecommitdiff
path: root/Source/Dafny/DafnyAst.cs
diff options
context:
space:
mode:
authorGravatar Rustan Leino <unknown>2013-07-30 01:55:51 -0700
committerGravatar Rustan Leino <unknown>2013-07-30 01:55:51 -0700
commit395bb1607e1884d565619ed0df5df45a9ead99c5 (patch)
treebd2b1d4c11d5a12287456b0f11384969d8c7e8a1 /Source/Dafny/DafnyAst.cs
parent599d33451d472d79df4592d0208526e590ec5de9 (diff)
Co-recursion, now sounder than ever!
- prefix equality is destructive - co-methods are not allowed to have out-parameters - in an SCC with both co-recursive and recursive calls, the latter are allowed only in non-destructive contexts
Diffstat (limited to 'Source/Dafny/DafnyAst.cs')
-rw-r--r--Source/Dafny/DafnyAst.cs3
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/Dafny/DafnyAst.cs b/Source/Dafny/DafnyAst.cs
index 0aac1cd6..b58f392c 100644
--- a/Source/Dafny/DafnyAst.cs
+++ b/Source/Dafny/DafnyAst.cs
@@ -3933,7 +3933,8 @@ namespace Microsoft.Dafny {
NoBecauseFunctionHasSideEffects,
NoBecauseFunctionHasPostcondition,
NoBecauseRecursiveCallsAreNotAllowedInThisContext,
- NoBecauseIsNotGuarded
+ NoBecauseIsNotGuarded,
+ NoBecauseRecursiveCallsInDestructiveContext
}
public CoCallResolution CoCall = CoCallResolution.No; // indicates whether or not the call is a co-recursive call; filled in by resolution