aboutsummaryrefslogtreecommitdiffstats
path: root/Changelog.md
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-07-19 15:24:27 +0800
committerGitHub <noreply@github.com>2018-07-19 15:24:27 +0800
commite3c2f20f6e8c7919a6733fa736a3a222028f213c (patch)
tree8905905bc8c29b9fc3acc08ee4f876cd8fd4ff07 /Changelog.md
parentccb5fccee5f7eea8993f2cbc77217abbccae36ce (diff)
parentfaa9c221d41c45e12411c654919f318f6e7fc98f (diff)
downloaddexon-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.md2
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.