Skip to content

Commit 301cc68

Browse files
authored
Merge pull request #1458 from steffahn/parameters_and_block_example
Improvements to `items/functions.md`
2 parents c34c8ed + 40f497b commit 301cc68

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/items/functions.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@
4242
> [^fn-param-2015]: Function parameters with only a type are only allowed
4343
> in an associated function of a [trait item] in the 2015 edition.
4444
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.
4647
Other than a name, all these are optional.
4748
Functions are declared with the keyword `fn`.
4849
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: ...`.
7677

7778
## Function body
7879

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
8182
means that the tail expression of the block, if evaluated, ends up being
8283
returned to the caller. As usual, an explicit return expression within
8384
the body of the function will short-cut that implicit return, if reached.
@@ -321,7 +322,7 @@ responsibility to ensure that.
321322
## Attributes on functions
322323

323324
[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].
325326

326327
This example shows an inner attribute on a function. The function is documented
327328
with just the word "Example".

0 commit comments

Comments
 (0)