Skip to content

Commit

Permalink
Merge pull request #2634 from ethereum/chriseth-patch-1
Browse files Browse the repository at this point in the history
Clarify internal function types
  • Loading branch information
axic authored Aug 11, 2017
2 parents a7a9ed4 + f74e405 commit ecec557
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions docs/types.rst
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ can be assigned from functions and function parameters of function type
can be used to pass functions to and return functions from function calls.
Function types come in two flavours - *internal* and *external* functions:

Internal functions can only be used inside the current contract (more specifically,
Internal functions can only be called inside the current contract (more specifically,
inside the current code unit, which also includes internal library functions
and inherited functions) because they cannot be executed outside of the
context of the current contract. Calling an internal function is realized
Expand All @@ -340,7 +340,8 @@ function type should not return anything, the whole ``returns (<return types>)``
part has to be omitted.

By default, function types are internal, so the ``internal`` keyword can be
omitted.
omitted. In contrast, contract functions themselves are public by default,
only when used as the name of a type, the default is internal.

There are two ways to access a function in the current contract: Either directly
by its name, ``f``, or using ``this.f``. The former will result in an internal
Expand Down

0 comments on commit ecec557

Please sign in to comment.