## 事象 [[IntelliJ IDEA]]と[[IntelliJ Rust]]で[[バイナリクレート]]と[[ライブラリクレート]]を両方持つプロジェクトを作成すると、正しく読み込まれない。 ```console $ tree src  src ├──  lib.rs └──  main.rs ``` `main.rs`はエラーにならないが[[Rust]]コードと認識されない(ジャンプなどできない)。 ![[Pasted image 20221116224654.png]] `lib.rs`はエラーが出る。 ``` File is not included in module tree, analysis is not available ``` ![[Pasted image 20221116224506.png]] ### 対象バージョン - [[IntelliJ IDEA]] 2022.2 - [[IntelliJ Rust]] v0.4.181.4996-222 ### 再現手順 ```console $ cargo new --bin binlib2 $ cd binlib $ idea . ``` [[IntelliJ IDEA]]で編集。 `src/main.rs` ```rust use binlib2::add; fn main() { let sum = add(1, 2); assert_eq!(sum, 2); } ``` `src/lib.rs` ```rust pub fn add(a: i32, b: i32) -> i32 { a + b } ``` 先ほどの画像のようなエラーになる。 ### ターミナルの実行結果 正常に動作する。 ```console $ cargo run thread 'main' panicked at 'assertion failed: `(left == right)` left: `3`, right: `2`', src\main.rs:5:5 ``` ### [[VSCode]] [[VSCode]]では認識する。 また、[[#再現手順]]を[[VSCode]]で行ったあと(再現しない)、[[IntelliJ IDEA]]を開くと問題なし。 ## 原因 不明。おそらく[[パッケージ (Rust)|パッケージ]]に関するキャッシュか何かが古くて([[バイナリクレート]]のみと認識されていて)不整合が起きていたとか...。 ## 解決方法 `lib.rs`の右側に出現する`Load Cargo Changes`をクリックする。 ![[Pasted image 20221116230131.png]] もしくは[[IntelliJ IDEA]]を再起動する。