这是一个真正的错误修复版本,您可以从下面的变更日志中看到。 最重要的修复与优化器有关,该优化器在某些情况下生成与SHA3 操作码相关的无效代码。
功能
- 内联汇编: 支持 suicide 和 selfdestruct 操作码(注意:suicide 已弃用)。
- 内联汇编: 如果在代码块之后堆栈不平衡,则发出警告。
- 包含 keccak256() 作为 sha3() 的别名。
- 支持移位常数。
错误修复
- 命令行界面: 在 solc 中禁止未知选项。
- 名称解析器: 允许继承 enum 定义。
- 类型检查器: 对绑定函数进行正确的类型检查。
- 类型检查器: 修复了与无效定点常量相关的崩溃。
- 类型检查器: 修复了与无效字面量数字相关的崩溃。
- 类型检查器: super.x 不会在当前合约中查找 x。
- 代码生成器: 期待在 super 作为表达式之后堆栈增加零。
- 代码生成器: 修复了针对 L.Foo 的内部编译器错误,其中 enum Foo 在库 L 中定义。
- 代码生成器: 允许继承 enum 定义。
- 内联汇编: 支持 address 操作码。
- 内联汇编: 修复了在标签之后赋值的解析。
- 内联汇编: 正确检测到不支持类型(如 this、super 等)的外部变量不可用。
- 内联汇编: 支持修饰符内的变量。
- 优化器: 修复了与 SHA3 操作相关的问题。
衷心感谢所有为此次版本发布做出贡献的人!
下载 Solidity 的新版本这里.