[[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`