Update docs/miscellaneous.rst

Co-Authored-By: Mathias L. Baumann <Marenz@users.noreply.github.com>
This commit is contained in:
Chris Chinchilla 2019-06-17 11:14:11 +01:00 committed by GitHub
parent 0465803b2c
commit aa6e29a7a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -11,7 +11,7 @@ Layout of State Variables in Storage
Statically-sized variables (everything except mapping and dynamically-sized array types) are laid out contiguously in storage starting from position ``0``. Multiple, contiguous items that need less than 32 bytes are packed into a single storage slot if possible, according to the following rules: Statically-sized variables (everything except mapping and dynamically-sized array types) are laid out contiguously in storage starting from position ``0``. Multiple, contiguous items that need less than 32 bytes are packed into a single storage slot if possible, according to the following rules:
- The first item in a storage slot is stored lower-order aligned. - The first item in a storage slot is stored lower-order aligned.
- Elementary types use only as many bytes that are necessary to store them. - Elementary types use only as many bytes as are necessary to store them.
- If an elementary type does not fit the remaining part of a storage slot, it is moved to the next storage slot. - 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). - 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).