https://doc.rust-jp.rs/book-ja/ch07-04-bringing-paths-into-scope-with-the-use-keyword.html#%E6%85%A3%E4%BE%8B%E3%81%AB%E5%BE%93%E3%81%A3%E3%81%9Fuse%E3%83%91%E3%82%B9%E3%82%92%E4%BD%9C%E3%82%8B
## 概要
以下のような[[モジュール (Rust)|モジュール]]と構造体があったとき。
```rust
mod outer {
pub mod inner {
pub struct User {
pub id: i32,
pub name: String,
}
}
}
```
以下のようにする。
```rust
use outer::inner::User;
fn sample() {
let user = User {
id: 1,
name: "Ichi".to_string(),
};
}
```
## 理由
- 明確な理由はなく、このやり方に慣れてしまっただけとか。。。
- 異なる[[モジュール (Rust)|モジュール]]で同じ名前のものを使うときは親モジュールまでを`use`する
- [[Rustで別モジュールの関数を利用する場合は、関数の親モジュールをuseする]] と同じ