From 4ecd2c743de901ba6735eb9c79774c8194f1b77b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Br=C3=A1ulio=20Bezerra?= Date: Sat, 14 Oct 2017 14:46:00 -0300 Subject: [PATCH] Use declaration grammar --- src/items/use-declarations.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/items/use-declarations.md b/src/items/use-declarations.md index 5ff173f89..bee94fadd 100644 --- a/src/items/use-declarations.md +++ b/src/items/use-declarations.md @@ -1,5 +1,17 @@ # Use declarations +> **Syntax:** +> _UseDeclaration_ : +>       `use` [_SimplePath_] (`as` [IDENTIFIER])? `;` +>    | `use` ([_SimplePath_]? `::`)? `{` _UseDeclarationItems_ `}` `;` +>    | `use` ([_SimplePath_]? `::`)? `*` `;` +> +> _UseDeclarationItems_ : +>    _UseDeclarationItem_ ( `,` _UseDeclarationItem_ )* `,`? +> +> _UseDeclarationItem_ : +>    ( `self` | [IDENTIFIER] ) ( `as` [IDENTIFIER] )? + A _use declaration_ creates one or more local name bindings synonymous with some other [path]. Usually a `use` declaration is used to shorten the path required to refer to a module item. These declarations may appear in [modules] @@ -111,3 +123,6 @@ mod foo { fn main() {} ``` + +[IDENTIFIER]: identifiers.html +[_SimplePath_]: paths.html