[[Rust 2018]]で採用された変更点。
## [[extern]]が不要に
今までは外部[[クレート]]を利用するため、[[extern]]が必要だった。
```rust
extern crate futures;
mod submodule {
use futures::Future;
}
```
[[Rust 2018]]ではこれが不要になった。
```rust
mod submodule {
use futures::Future;
}
```
[[マクロ]]の場合も同様。今までは
```rust
#[macro_use]
extern crate bar;
fn main() {
baz!();
}
```
[[Rust 2018]]では[[useキーワード]]を利用できる。
```rust
use bar::baz;
fn main() {
baz!();
}
```
## [[mod.rs]]が不要に
サブモジュールの構成に必要だった[[mod.rs]]が不要になった。
[[Rust 2015]]の場合。
- `lib.rs`
- `foo`
- `mod.rs` <-- このファイルがあるとサブモジュールと見なされる
- `bar.rs`
[[Rust 2018]]の場合。
- `lib.rs`
- `foo.rs` <-- `mod.rs`は不要だが、変わりにサブモジュール名の[[Rust]]ファイルが必要
- `foo`
- `bar.rs`