diff options
author | William Entriken <github.com@phor.net> | 2018-11-15 11:55:19 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2018-11-26 21:44:18 +0800 |
commit | b98a9eeb976b40f2f5a246889cadcb69e4596fc7 (patch) | |
tree | fc210260e9564b04e7861357e6810173809004a4 /docs | |
parent | 7921e5f0b9ff954fd08be6a4f5014f844c0cf10d (diff) | |
download | dexon-solidity-b98a9eeb976b40f2f5a246889cadcb69e4596fc7.tar.gz dexon-solidity-b98a9eeb976b40f2f5a246889cadcb69e4596fc7.tar.zst dexon-solidity-b98a9eeb976b40f2f5a246889cadcb69e4596fc7.zip |
Define how inheritance affects storage
Diffstat (limited to 'docs')
-rw-r--r-- | docs/miscellaneous.rst | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/docs/miscellaneous.rst b/docs/miscellaneous.rst index cc2ba801..017d5b81 100644 --- a/docs/miscellaneous.rst +++ b/docs/miscellaneous.rst @@ -15,6 +15,10 @@ Statically-sized variables (everything except mapping and dynamically-sized arra - If an elementary type does not fit the remaining part of a storage slot, it is moved to the next storage slot. - Structs and array data always start a new slot and occupy whole slots (but items inside a struct or array are packed tightly according to these rules). +For contracts that use inheritance, the ordering of state variables is determined by the +C3-linearized order of contracts starting with the most base-ward contract. If allowed +by the above rules, state variables from different contracts do share the same storage slot. + .. warning:: When using elements that are smaller than 32 bytes, your contract's gas usage may be higher. This is because the EVM operates on 32 bytes at a time. Therefore, if the element is smaller |