solidity icon indicating copy to clipboard operation
solidity copied to clipboard

v0.6.0 Breaking Changes is missing opcode syntax changes

Open gnattishness opened this issue 3 years ago • 0 comments

Page

https://docs.soliditylang.org/en/latest/060-breaking-changes.html

Abstract

v0.6.0 introduced breaking changes to how inline assembly defined opcodes that do not take an argument. In particular, these opcodes were standalone identifiers in < v0.6.0 and "built in functions" for >= v0.6.0.

The inline assembly documentation was updated in #8022 but it would be preferable to include a relevant note in the v0.6.0 breaking changes document. Displayed via the web: Relevant v0.5.17 Inline assembly docs Updated v0.6.0 docs

This would have made it more likely to lead to bugs where the developer mistakenly thought their contract compatible with v0.5.x and v0.6.x. E.g. this old Gnosis contract has an incorrect pragma, because it fails in v0.6.x: gas at L23 would need to be gas() to compile in v0.6.x https://github.com/safe-global/safe-contracts/blob/1.1.3/contracts/common/SecuredTokenTransfer.sol

Pull request

#13548

gnattishness avatar Sep 21 '22 07:09 gnattishness