Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
838b2ea7
R
Rust
项目概览
int
/
Rust
接近 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
838b2ea7
编写于
12月 26, 2014
作者:
E
Eduard Burtescu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
docs: fix fallout of merging ast::ViewItem into ast::Item.
上级
3102b9e1
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
9 addition
and
23 deletion
+9
-23
src/doc/reference.md
src/doc/reference.md
+9
-23
未找到文件。
src/doc/reference.md
浏览文件 @
838b2ea7
...
...
@@ -803,8 +803,9 @@ Crates contain [items](#items), each of which may have some number of
## Items
```
{.ebnf .gram}
item : mod_item | fn_item | type_item | struct_item | enum_item
| static_item | trait_item | impl_item | extern_block ;
item : extern_crate_decl | use_decl | mod_item | fn_item | type_item
| struct_item | enum_item | static_item | trait_item | impl_item
| extern_block ;
```
An _item_ is a component of a crate; some module items can be defined in crate
...
...
@@ -818,6 +819,8 @@ execution, and may reside in read-only memory.
There are several kinds of item:
*
[
`extern crate` declarations
](
#extern-crate-declarations
)
*
[
`use` declarations
](
#use-declarations
)
*
[
modules
](
#modules
)
*
[
functions
](
#functions
)
*
[
type definitions
](
#type-definitions
)
...
...
@@ -854,13 +857,10 @@ no notion of type abstraction: there are no first-class "forall" types.
```
{.ebnf .gram}
mod_item : "mod" ident ( ';' | '{' mod '}' );
mod :
[ view_item | item ]
* ;
mod :
item
* ;
```
A module is a container for zero or more
[
view items
](
#view-items
)
and zero or
more
[
items
](
#items
)
. The view items manage the visibility of the items defined
within the module, as well as the visibility of names from outside the module
when referenced from inside the module.
A module is a container for zero or more
[
items
](
#items
)
.
A _module item_ is a module, surrounded in braces, named, and prefixed with the
keyword
`mod`
. A module item introduces a new, named module into the tree of
...
...
@@ -918,19 +918,6 @@ mod thread {
}
```
#### View items
```
{.ebnf .gram}
view_item : extern_crate_decl | use_decl ;
```
A view item manages the namespace of a module. View items do not define new
items, but rather, simply change other items' visibility. There are two
kinds of view items:
*
[
`extern crate` declarations
](
#extern-crate-declarations
)
*
[
`use` declarations
](
#use-declarations
)
##### Extern crate declarations
```
{.ebnf .gram}
...
...
@@ -2891,13 +2878,12 @@ Point3d {y: 0, z: 10, .. base};
### Block expressions
```
{.ebnf .gram}
block_expr : '{' [ view_item ] *
[ stmt ';' | item ] *
block_expr : '{' [ stmt ';' | item ] *
[ expr ] '}' ;
```
A _block expression_ is similar to a module in terms of the declarations that
are possible. Each block conceptually introduces a new namespace scope.
View
are possible. Each block conceptually introduces a new namespace scope.
Use
items can bring new names into scopes and declared items are in scope for only
the block itself.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录