此版本修复了一些错误,并添加了一些新功能。
值得关注的地方
- 为了区分不同文件中同名合约和库,现在所有内容都以 "filename:" 为前缀。这适用于编译器输出、链接器输入和其他方面。
- 内部异常现在通过使用无效操作码 (0xfe) 抛出,手动异常仍然使用无效跳转。
功能
- 编译器接口:合约和库可以使用file: 前缀来使它们唯一。
- 编译器接口:报告 "栈溢出" 错误的源代码位置。
- AST:使用确定性节点标识符。
- 内联汇编:引入 invalid (EIP141) 作为操作码。
- 类型系统:引入类型标识符字符串。
- 类型检查器:警告地址的无效校验和,并从有效的校验和中推断类型。
- 元数据:不要在版本号中包含平台。
- 元数据:添加选项以将源代码存储为字面内容。
- 代码生成器:将数组实用程序提取到低级函数中。
- 代码生成器:内部错误(数组越界等)现在通过使用无效指令 (0xfe - EIP141) 而不是无效跳转来导致回滚。无效跳转仍然保留用于显式抛出。
错误修复
- 代码生成器:允许递归结构体。
- 内联汇编:不允许将变量命名为操作码。
- 类型检查器:允许多个同名事件(但具有不同的参数数量或参数类型)
- Natspec 解析器:修复 @param 解析和空格的错误。
衷心感谢所有帮助使此版本成为可能的贡献者!
下载 Solidity 的新版本这里.