此版本添加了编译器生成的 revert 的原因字符串,如果您指定revert-strings debug 或使用设置 settings.debug.revertStrings = "debug"。此外,合约类型和枚举现在允许作为映射的键,并且 doxygen 样式注释得到 AST 的更好支持。
语言特性
- 允许合约类型和枚举作为映射的键。
- 允许函数选择器用作编译时常量。
编译器特性
- AST:添加一个用于 doxygen 样式结构化文档的新节点,合约、函数、事件和修饰符定义都可以接收该节点。
- 代码生成器:使用 calldatacopy 而不是 codecopy 来清零输入后的内存。
- 调试:在使用 revert-strings 选项或在调试模式下使用 settings.debug.revertStrings 设置时,为编译器生成的内部 revert 提供原因字符串。
- 结构化文档:报告结构化文档错误的源位置。
- Yul 优化器:修剪相互调用但其他方面未引用的函数。
错误修复
- 汇编输出:向旧版汇编 JSON 输出添加了缺少的 source 字段,以完成源引用。
- 解析器:修复了没有 contract 的 abstract 的内部错误。
- 类型检查器:将对不可调用类型的无效调用更改为致命错误,而不是常规错误。
非常感谢所有帮助使此版本发布成为可能的贡献者!
下载新版本的 Solidity这里.