【问题标题】:Dafny "Call may violate context's modifies clause"Dafny“调用可能违反上下文的修改子句”
【发布时间】:2018-05-06 13:13:31
【问题描述】:

我正在尝试验证一个哈希集,但我的插入方法遇到了问题。

我不明白为什么我在取消注释 main 中的插入时收到“调用可能违反上下文的修改子句”错误。我认为这与使用新鲜有关,但我不清楚如何/在哪里这样做。

代码位于:https://rise4fun.com/Dafny/9UDG

【问题讨论】:

    标签: dafny


    【解决方案1】:

    问题在于 insert 声称要修改 thisa,这使得第一次调用 inserta 字段更改为指向任意内容,然后第二次调用insert 修改了那个任意的东西。

    一个简单的解决方案是将ensures a == old(a) 添加到insert

    【讨论】:

      猜你喜欢
      • 2017-09-21
      • 2023-02-04
      • 2020-03-21
      • 2020-12-27
      • 2016-03-18
      • 1970-01-01
      • 2018-10-10
      • 1970-01-01
      • 2020-04-29
      相关资源
      最近更新 更多