Merge pull request #5364 from ethereum/chriseth-patch-5

Add note about changing the storage layout.
This commit is contained in:
chriseth 2018-11-12 13:00:16 +01:00 committed by GitHub
commit 60b44b1101
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -32,6 +32,14 @@ Statically-sized variables (everything except mapping and dynamically-sized arra
``uint128, uint256, uint128``, as the former will only take up two slots of storage whereas the
latter will take up three.
.. note::
The layout of state variables in storage is considered to be part of the external interface
of Solidity due to the fact that storage pointers can be passed to libraries. This means that
any change to the rules outlined in this section is considered a breaking change
of the language and due to its critical nature should be considered very carefully before
being executed.
The elements of structs and arrays are stored after each other, just as if they were given explicitly.
Mappings and Dynamic Arrays