这是一个小的 bug 修复版本,它还包括对 SMT 求解器的循环支持以及对 Yul 优化器的一些改进。 功能集较小的原因是,我们主要在开发即将推出的 0.6.0 版本。
语言特性
- 类型检查器:允许将外部函数参数赋值给除引用类型以外的任何类型。
编译器特性
- ABI 输出:将函数的排序顺序从选择器更改为种类、名称。
- 优化器:添加规则,如果第一个参数大于 31,则将 BYTE 操作码替换为 0。
- SMTChecker:将循环支持添加到 CHC 引擎。
- Yul 优化器:考虑用户定义函数的无副作用特性。
- Yul 优化器:删除冗余的 mload/sload 操作。
错误修复
- 代码生成器:修复弹出映射的动态存储数组时的内部错误。
- 名称解析器:修复在导入声明中警告阴影别名时的错误源位置。
- 扫描器:修复使用三斜杠进行多行 natspec 注释解析时,文件使用 CRLF 而不是 LF 编码的错误。
- 类型系统:修复递归结构体的数组。
- Yul 优化器:修复与 for 循环条件中移位一个和 mul/div 指令相关的重新排序错误。
衷心感谢所有帮助完成此版本的贡献者!
下载 Solidity 的新版本这里.