@@ -1804,8 +1804,8 @@ otherwise exactly as a function item (with a minor additional cost of calling
18041804the function, as such a call is indirect). @xref {Ref.Type.Fn }.
18051805
18061806Every control path in a function ends with either a @code {ret } or @code {be }
1807- statement . If a control path lacks a @code {ret } statement in source code, an
1808- implicit @code {ret } statement is appended to the end of the control path
1807+ expression . If a control path lacks a @code {ret } expression in source code, an
1808+ implicit @code {ret } expression is appended to the end of the control path
18091809during compilation, returning the implicit @code {() } value.
18101810
18111811A function may have an @emph {effect }, which may be either @code {impure } or
@@ -1827,9 +1827,9 @@ fn add(int x, int y) -> int @{
18271827@c * Ref.Item.Iter:: Items defining iterators.
18281828
18291829@cindex Iterators
1830- @cindex Put statement
1831- @cindex Put each statement
1832- @cindex Foreach statement
1830+ @cindex Put expression
1831+ @cindex Put each expression
1832+ @cindex Foreach expression
18331833
18341834Iterators are function-like items that can @code {put } multiple values during
18351835their execution before returning or tail-calling.
@@ -1841,11 +1841,11 @@ but the iterator frame is only @emph{suspended} during the put, and will be
18411841the caller's loop.
18421842
18431843The output type of an iterator is the type of value that the function will
1844- @code {put }, before it eventually executes a @code {ret } or @code {be } statement
1844+ @code {put }, before it eventually evaluates a @code {ret } or @code {be } expression
18451845of type @code {() } and completes its execution.
18461846
18471847An iterator can only be called in the loop header of a matching @code {for
1848- each } loop or as the argument in a @code {put each } statement .
1848+ each } loop or as the argument in a @code {put each } expression .
18491849@xref {Ref.Stmt.Foreach }.
18501850
18511851An example of an iterator:
@@ -2052,13 +2052,13 @@ Rust; they cannot be used as user-defined identifiers in any context.
20522052@cindex Any type
20532053@cindex Dynamic type , see @i {Any type }
20542054@cindex Reflection
2055- @cindex Alt type statement
2055+ @cindex Alt type expression
20562056
20572057The type @code {any } is the union of all possible Rust types. A value of type
20582058@code {any } is represented in memory as a pair consisting of a boxed value of
20592059some non-@code {any } type @var {T } and a reflection of the type @var {T }.
20602060
2061- Values of type @code {any } can be used in an @code {alt type } statement , in
2061+ Values of type @code {any } can be used in an @code {alt type } expression , in
20622062which the reflection is used to select a block corresponding to a particular
20632063type extraction. @xref {Ref.Stmt.Alt }.
20642064
@@ -2549,7 +2549,7 @@ right hand side of copy statements, @xref{Ref.Stmt.Copy}.
25492549@c * Ref.Stmt:: Executable statements.
25502550@cindex Statements
25512551
2552- A @dfn {statement } is a component of a block, which is in turn a components of
2552+ A @dfn {statement } is a component of a block, which is in turn a component of
25532553an outer block, a function or an iterator. When a function is spawned into a
25542554task, the task @emph {executes } statements in an order determined by the body
25552555of the enclosing structure. Each statement causes the task to perform certain
0 commit comments