|
42 | 42 | > [^fn-param-2015]: Function parameters with only a type are only allowed
|
43 | 43 | > in an associated function of a [trait item] in the 2015 edition.
|
44 | 44 |
|
45 |
| -A _function_ consists of a [block], along with a name, a set of parameters, and an output type. |
| 45 | +A _function_ consists of a [block] (that's the _body_ of the function), |
| 46 | +along with a name, a set of parameters, and an output type. |
46 | 47 | Other than a name, all these are optional.
|
47 | 48 | Functions are declared with the keyword `fn`.
|
48 | 49 | Functions may declare a set of *input* [*variables*][variables] as parameters, through which the caller passes arguments into the function, and the *output* [*type*][type] of the value the function will return to its caller on completion.
|
@@ -76,8 +77,8 @@ parameter may have an optional identifier, such as `args: ...`.
|
76 | 77 |
|
77 | 78 | ## Function body
|
78 | 79 |
|
79 |
| -The block of a function is conceptually wrapped in a block that binds the |
80 |
| -argument patterns and then `return`s the value of the function's block. This |
| 80 | +The body block of a function is conceptually wrapped in another block that first binds the |
| 81 | +argument patterns and then `return`s the value of the function's body. This |
81 | 82 | means that the tail expression of the block, if evaluated, ends up being
|
82 | 83 | returned to the caller. As usual, an explicit return expression within
|
83 | 84 | the body of the function will short-cut that implicit return, if reached.
|
@@ -321,7 +322,7 @@ responsibility to ensure that.
|
321 | 322 | ## Attributes on functions
|
322 | 323 |
|
323 | 324 | [Outer attributes][attributes] are allowed on functions. [Inner
|
324 |
| -attributes][attributes] are allowed directly after the `{` inside its [block]. |
| 325 | +attributes][attributes] are allowed directly after the `{` inside its body [block]. |
325 | 326 |
|
326 | 327 | This example shows an inner attribute on a function. The function is documented
|
327 | 328 | with just the word "Example".
|
|
0 commit comments