diff options
author | chriseth <chris@ethereum.org> | 2018-07-19 15:24:27 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-19 15:24:27 +0800 |
commit | e3c2f20f6e8c7919a6733fa736a3a222028f213c (patch) | |
tree | 8905905bc8c29b9fc3acc08ee4f876cd8fd4ff07 /Changelog.md | |
parent | ccb5fccee5f7eea8993f2cbc77217abbccae36ce (diff) | |
parent | faa9c221d41c45e12411c654919f318f6e7fc98f (diff) | |
download | dexon-solidity-e3c2f20f6e8c7919a6733fa736a3a222028f213c.tar.gz dexon-solidity-e3c2f20f6e8c7919a6733fa736a3a222028f213c.tar.zst dexon-solidity-e3c2f20f6e8c7919a6733fa736a3a222028f213c.zip |
Merge pull request #4439 from ethereum/address_members
[BREAKING] Enforce address members not accessible by contract instance
Diffstat (limited to 'Changelog.md')
-rw-r--r-- | Changelog.md | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/Changelog.md b/Changelog.md index aabe11ed..c2aa3f17 100644 --- a/Changelog.md +++ b/Changelog.md @@ -6,6 +6,7 @@ How to update your code: * Add ``public`` to every function and ``external`` to every fallback or interface function that does not specify its visibility already. * Make your fallback functions ``external``. * Explicitly state the storage location for local variables of struct and array types, e.g. change ``uint[] x = m_x`` to ``uint[] storage x = m_x``. + * Explicitly convert values of contract type to addresses before using an ``address`` member. Example: if ``c`` is a contract, change ``c.transfer(...)`` to ``address(c).transfer(...)``. Breaking Changes: @@ -47,6 +48,7 @@ Breaking Changes: * Type Checker: Only accept a single ``bytes`` type for ``.call()`` (and family), ``keccak256()``, ``sha256()`` and ``ripemd160()``. * Type Checker: Fallback function must be external. This was already the case in the experimental 0.5.0 mode. * Type Checker: Interface functions must be declared external. This was already the case in the experimental 0.5.0 mode. + * Type Checker: Address members are not included in contract types anymore. An explicit conversion is now required before invoking an ``address`` member from a contract. * Remove obsolete ``std`` directory from the Solidity repository. This means accessing ``https://github.com/ethereum/soldity/blob/develop/std/*.sol`` (or ``https://github.com/ethereum/solidity/std/*.sol`` in Remix) will not be possible. * References Resolver: Turn missing storage locations into an error. This was already the case in the experimental 0.5.0 mode. * Syntax Checker: Named return values in function types are an error. |