Skip to content

Commit

Permalink
advice on mod xxx; ambiguity (rustcc#559)
Browse files Browse the repository at this point in the history
for `mod xxx;`  module searching, the rules apply variously for different files.
investigation required
  • Loading branch information
jonirrings authored and miketang84 committed Jan 10, 2018
1 parent e5a43d2 commit 897fb63
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion module/module.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,9 @@ Rust 的模块支持层级结构,但这种层级结构本身与文件系统目

那么,Rust 的多层模块遵循如下两条规则:

1. `mod xxx;` 默认优先查找,同级目录下的 `xxx.rs` 文件;
1. 优先查找`xxx.rs` 文件
1. `main.rs``lib.rs``mod.rs`中的`mod xxx;` 默认优先查找同级目录下的 `xxx.rs` 文件;
2. 其他文件`yyy.rs`中的`mod xxx;`默认优先查找同级目录的`yyy`目录下的 `xxx.rs` 文件;
2. 如果 `xxx.rs` 不存在,则查找 `xxx/mod.rs` 文件,即 `xxx` 目录下的 `mod.rs` 文件。

上述两种情况,加载成模块后,效果是相同的。Rust 就凭这两条规则,通过迭代使用,结合 `pub` 关键字,实现了对深层目录下模块的加载;
Expand Down

0 comments on commit 897fb63

Please sign in to comment.