From 3af757631e1d1aca2fbf890a122123b638341633 Mon Sep 17 00:00:00 2001 From: Paul Stansifer Date: Wed, 5 Dec 2012 23:58:39 -0500 Subject: [PATCH] Be a bit more explicit about the nature of macro RHSes. --- doc/tutorial-macros.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/doc/tutorial-macros.md b/doc/tutorial-macros.md index e3b0bad2901..f2c411b4ea0 100644 --- a/doc/tutorial-macros.md +++ b/doc/tutorial-macros.md @@ -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