Be a bit more explicit about the nature of macro RHSes.

This commit is contained in:
Paul Stansifer 2012-12-05 23:58:39 -05:00 committed by Tim Chevalier
parent b84caefdbc
commit 3af757631e

View File

@ -117,6 +117,12 @@ transcriber (therefore `() => ((1,2,3))` is a macro that expands to a tuple
expression, `() => (let $x=$val)` is a macro that expands to a statement, and
`() => (1,2,3)` is a macro that expands to a syntax errror).
Except for permissibility of `$name` (and `$(...)*`, discussed below), the
right-hand side of a macro definition follows the same rules as ordinary
Rust syntax. In particular, macro invocations (including invocations of the
macro currently being defined) are permitted in expression, statement, and
item locations.
## Interpolation location
The interpolation `$argument_name` may appear in any location consistent with