diff --git a/docs/contracts/functions.rst b/docs/contracts/functions.rst index 7d1ce7256..ff49e4f28 100644 --- a/docs/contracts/functions.rst +++ b/docs/contracts/functions.rst @@ -222,6 +222,9 @@ Pure Functions -------------- Functions can be declared ``pure`` in which case they promise not to read from or modify the state. +In particular, it should be possible to evaluate a ``pure`` function at compile-time given +only its inputs and ``msg.data``, but without any knowledge of the current blockchain state. +This means that reading from ``immutable`` variables can be a non-pure operation. .. note:: If the compiler's EVM target is Byzantium or newer (default) the opcode ``STATICCALL`` is used,