diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2017-08-17 03:51:47 +0800 |
---|---|---|
committer | Alex Beregszaszi <alex@rtfs.hu> | 2017-08-24 20:46:18 +0800 |
commit | 93e6e83093ecd4a31035e7b6a62adabd3cd81c5a (patch) | |
tree | a7ce04c141565b633a2f47d64fe491d172ebfe7a | |
parent | e9a9a07d94d35fd9b84b16b7bd4bf8ab0b396d22 (diff) | |
download | dexon-solidity-93e6e83093ecd4a31035e7b6a62adabd3cd81c5a.tar.gz dexon-solidity-93e6e83093ecd4a31035e7b6a62adabd3cd81c5a.tar.zst dexon-solidity-93e6e83093ecd4a31035e7b6a62adabd3cd81c5a.zip |
Document pure functions
-rw-r--r-- | docs/contracts.rst | 23 | ||||
-rw-r--r-- | docs/miscellaneous.rst | 5 |
2 files changed, 25 insertions, 3 deletions
diff --git a/docs/contracts.rst b/docs/contracts.rst index 0f1a882c..50e7f3d1 100644 --- a/docs/contracts.rst +++ b/docs/contracts.rst @@ -475,7 +475,7 @@ Functions can be declared ``view`` in which case they promise not to modify the contract C { function f(uint a, uint b) view returns (uint) { - return a * (b + 42); + return a * (b + 42) + now; } } @@ -488,6 +488,27 @@ Functions can be declared ``view`` in which case they promise not to modify the .. warning:: The compiler does not enforce yet that a ``view`` method is not modifying state. +.. _pure-functions: + +************** +Pure Functions +************** + +Functions can be declared ``pure`` in which case they promise not to read from or modify the state. + +:: + + pragma solidity ^0.4.0; + + contract C { + function f(uint a, uint b) pure returns (uint) { + return a * (b + 42); + } + } + +.. warning:: + The compiler does not enforce yet that a ``pure`` method is not reading from the state. + .. index:: ! fallback function, function;fallback .. _fallback-function: diff --git a/docs/miscellaneous.rst b/docs/miscellaneous.rst index 7889fff2..e78c4807 100644 --- a/docs/miscellaneous.rst +++ b/docs/miscellaneous.rst @@ -500,12 +500,13 @@ Function Visibility Specifiers - ``internal``: only visible internally -.. index:: modifiers, constant, anonymous, indexed +.. index:: modifiers, pure, view, payable, constant, anonymous, indexed Modifiers ========= -- ``view`` for functions: Disallow modification of state - this is not enforced yet. +- ``pure`` for functions: Disallows modification or access of state - this is not enforced yet. +- ``view`` for functions: Disallows modification of state - this is not enforced yet. - ``payable`` for functions: Allows them to receive Ether together with a call. - ``constant`` for state variables: Disallows assignment (except initialisation), does not occupy storage slot. - ``constant`` for functions: Same as ``view``. |