|  | 
| 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