Document pre-0.5.0 bytesX/uintY conversions

Document pre-0.5.0 compiler behavior on bytesX/uintY conversions when they have different size.
This commit is contained in:
CrimsonGlory 2021-08-11 21:07:18 -03:00 committed by chriseth
parent c0a9578979
commit e42ebcd612

View File

@ -127,7 +127,10 @@ For most of the topics the compiler will provide suggestions.
adjusted within the type before the conversion. For example, you can convert
a ``bytes4`` (4 bytes) to a ``uint64`` (8 bytes) by first converting the
``bytes4`` variable to ``bytes8`` and then to ``uint64``. You get the
opposite padding when converting through ``uint32``.
opposite padding when converting through ``uint32``. Before v0.5.0 any
conversion between ``bytesX`` and ``uintY`` would go through ``uint8X``. For
example ``uint8(bytes3(0x291807))`` would be converted to ``uint8(uint24(bytes3(0x291807)))``
(the result is ``0x07``).
* Using ``msg.value`` in non-payable functions (or introducing it via a
modifier) is disallowed as a security feature. Turn the function into