You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cpitclaudel opened this issue
Apr 1, 2022
· 1 comment
Assignees
Labels
kind: bugCrashes, unsoundness, incorrect output, etc. If possible, add a `part:` labellogicAn inconsistency in Dafny's logic (e.g. in the Boogie prelude)
I'm creating a new issue to track the more complex parts of #1419 that popped up in the discussion of #1924 and led to #1936.
Reference case: for datatypes, we need to check recursively, not just the type parameters:
classC {}
datatype D = DC(c: C)
typeX(!new) = D // No errordatatype Obs' = Obs'(s: set<object>)
predicate lotsOfObjects'() {
exists o: Obs' :: |o.s| > 10 // No error
}
Another example:
classC {}
datatype Box<T> = Box(t: T)
type Box'(!new) = Box<C>// Rejecteddatatype BoxC = BoxC(c: C)
type BoxC'(!new) = BoxC // No error
The text was updated successfully, but these errors were encountered:
cpitclaudel
added
kind: bug
Crashes, unsoundness, incorrect output, etc. If possible, add a `part:` label
logic
An inconsistency in Dafny's logic (e.g. in the Boogie prelude)
labels
Apr 1, 2022
kind: bugCrashes, unsoundness, incorrect output, etc. If possible, add a `part:` labellogicAn inconsistency in Dafny's logic (e.g. in the Boogie prelude)
I'm creating a new issue to track the more complex parts of #1419 that popped up in the discussion of #1924 and led to #1936.
Reference case: for datatypes, we need to check recursively, not just the type parameters:
Another example:
The text was updated successfully, but these errors were encountered: