Non-reference type parameter in extending type causes malformed Boogie #5873
Labels
kind: bug
Crashes, unsoundness, incorrect output, etc. If possible, add a `part:` label
part: verifier
Translation from Dafny to Boogie (translator)
Dafny version
4.8.1
Code to produce this issue
Command to run and resulting output
What happened?
The program gives rise to an override check, which is described by a Boogie
procedure
/implementation
. What's currently generated isIn Boogie, the parameters of a
procedure
can havewhere
clauses. Eachimplementation
of theprocedure
inherits thosewhere
clauses, but is not allowed to repeat them. The example shows that thethis
parameter adheres to this restriction, but the_module.Dt$K
does not.Note, Boogie enforces this rule in its parser. But since Dafny usually just passes a Boogie AST to the Boogie verifier, this problem is detected only by using the
--bprint
option and passing the resulting.bpl
file directly to theboogie
tool.The fix is simply to omit this
where
clause for theimplementation
.What type of operating system are you experiencing the problem on?
Mac
The text was updated successfully, but these errors were encountered: