---
generated_at: 2026-02-19 10:30:00
metrics:
  claims_total: 56
  claims_with_evidence: 56
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：modules-lang-rust 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：56 / 56、根拠なし：0
- 優先レビュー（高）
  1. **なし**：全テストケースに根拠あり

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。

- E-01: `modules/lang/rust/autoload/rust.el` - +rust-cargo-project-p関数、+rust/cargo-audit関数の定義
- E-02: `modules/lang/rust/autoload/compat.el` - rust-mode-treesitter-derive設定、auto-mode-alist操作
- E-03: `modules/lang/rust/config.el` - rustic-mode設定、LSP設定、キーバインド定義
- E-04: `modules/lang/rust/doctor.el` - 依存関係アサーション、環境検証
- E-05: `modules/lang/rust/packages.el` - パッケージ定義（rust-mode、rustic）

## 3) Claims と根拠の対応（レビューの主戦場）

### autoload/rust.el 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | +rust-cargo-project-pがCargo.tomlを検出する | E-01: L4-6 `(locate-dominating-file buffer-file-name "Cargo.toml")` | ○ |
| C-02 | ネストディレクトリからCargo.toml検出 | E-01: locate-dominating-fileの動作仕様 | ○ |
| C-03 | Cargo.toml不在時にnilを返す | E-01: locate-dominating-fileの動作仕様 | ○ |
| C-04 | buffer-file-nameがnilの場合の挙動 | E-01: L6の呼び出し時のエッジケース | ○ |
| C-05 | +rust/cargo-auditがcargo auditを実行 | E-01: L14-17 `(rustic-run-cargo-command "cargo audit")` | ○ |
| C-06 | rustic-cargo未ロード時の挙動 | E-01: L12 autoload宣言 | ○ |

### autoload/compat.el 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-07 | +tree-sitter時にrust-mode-treesitter-deriveがt | E-02: L18 `(setq rust-mode-treesitter-derive (modulep! :lang rust +tree-sitter))` | ○ |
| C-08 | +tree-sitter無効時にnil | E-02: L18 同上 | ○ |
| C-09 | rust-modeがauto-mode-alistから削除 | E-02: L22 `(cl-callf2 rassq-delete-all 'rust-mode auto-mode-alist)` | ○ |
| C-10 | rustic-modeがauto-mode-alistから削除 | E-02: L23 `(cl-callf2 rassq-delete-all 'rustic-mode auto-mode-alist)` | ○ |
| C-11 | rust-prog-mode後にrustic読み込み | E-02: L28-30 `(after! (:or rust-prog-mode ...))` | ○ |

### config.el 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-12 | Cargo.tomlがprojectile-project-root-filesに追加 | E-03: L4-5 `(add-to-list 'projectile-project-root-files "Cargo.toml")` | ○ |
| C-13 | rust-indent-method-chainがt | E-03: L14 `(setq rust-indent-method-chain t)` | ○ |
| C-14 | .rsファイルがrustic-modeで開かれる | E-03: L18 `:mode ("\\.rs\\'" . rustic-mode)` | ○ |
| C-15 | rustic-lsp-clientがnil初期設定 | E-03: L23 `(setq rustic-lsp-client nil)` | ○ |
| C-16 | rustic-setup-lspがhookから除去 | E-03: L25 `(remove-hook 'rustic-mode-hook 'rustic-setup-lsp)` | ○ |
| C-17 | flycheck-modeがhookから除去 | E-03: L27 `(remove-hook 'rustic-mode-hook #'flycheck-mode)` | ○ |
| C-18 | +tree-sitter時にset-tree-sitter!呼び出し | E-03: L31-34 `(when (modulep! +tree-sitter) (set-tree-sitter! ...))` | ○ |
| C-19 | tree-sitter-rustのURL設定 | E-03: L33 `:url "https://github.com/tree-sitter/tree-sitter-rust"` | ○ |
| C-20 | ABIバージョン < 15でv0.23.2 | E-03: L34 `(if (< (treesit-library-abi-version) 15) "v0.23.2" "v0.24.0")` | ○ |
| C-21 | ABIバージョン >= 15でv0.24.0 | E-03: L34 同上 | ○ |
| C-22 | org-babel-execute:rustエイリアス | E-03: L40 `(defalias 'org-babel-execute:rust #'org-babel-execute:rustic)` | ○ |
| C-23 | org-src-lang-modesにrust追加 | E-03: L41 `(add-to-list 'org-src-lang-modes '("rust" . rustic))` | ○ |
| C-24 | docsets設定 | E-03: L44 `(set-docsets! 'rustic-mode "Rust")` | ○ |
| C-25 | rustic-compilationのpopupルール | E-03: L45 `(set-popup-rule! "^\\*rustic-compilation" :vslot -1)` | ○ |
| C-26 | cargo-runのpopupルール | E-03: L46 `(set-popup-rule! "^\\*cargo-run" :vslot -1)` | ○ |
| C-27 | rustic-babel-format-src-blockがnil | E-03: L49 `rustic-babel-format-src-block nil` | ○ |
| C-28 | rustic-format-triggerがnil | E-03: L50 `rustic-format-trigger nil` | ○ |
| C-29 | -lsp時にrustic-clippyがflycheck-checkersに追加 | E-03: L53-54 `(if (modulep! -lsp) ... (add-to-list 'flycheck-checkers 'rustic-clippy))` | ○ |
| C-30 | +eglot時にrustic-lsp-clientがeglot | E-03: L55-58 `(if (modulep! :tools lsp +eglot) 'eglot 'lsp-mode)` | ○ |
| C-31 | eglotなしでrustic-lsp-clientがlsp-mode | E-03: L55-58 同上 | ○ |
| C-32 | rustic-setup-lspがlocal-vars-hookに追加 | E-03: L59 `(add-hook 'rustic-mode-local-vars-hook #'rustic-setup-lsp 'append)` | ○ |
| C-33 | lsp--hover-saved-boundsがnilにリセット | E-03: L66-69 `(setq lsp--hover-saved-bounds nil)` | ○ |
| C-34 | 非Rustモードでは変更されない | E-03: L68 `(when (derived-mode-p 'rust-mode 'rust-ts-mode) ...)` | ○ |
| C-35 | rust-analyzerから署名抽出 | E-03: L73-89 `lsp-clients-extract-signature-on-hover` メソッド定義 | ○ |
| C-36 | mod-groupが5番目グループの場合 | E-03: L76-77 `((s-equals? "```rust" (car (-fifth-item groups))) (-third-item groups))` | ○ |
| C-37 | mod-groupが3番目グループの場合 | E-03: L77-78 条件分岐 | ○ |
| C-38 | mod-groupがない場合 | E-03: L78-79 `(t nil)` | ○ |
| C-39 | rustic-install-lsp-client-pオーバーライド | E-03: L94-96 `:override #'rustic-install-lsp-client-p` | ○ |
| C-40 | SPC m b aキーバインド | E-03: L101 `"a" #'+rust/cargo-audit` | ○ |
| C-41 | SPC m b bキーバインド | E-03: L102 `"b" #'rustic-cargo-build` | ○ |
| C-42 | SPC m t aキーバインド | E-03: L113 `"a" #'rustic-cargo-test` | ○ |
| C-43 | SPC m t tキーバインド | E-03: L114 `"t" #'rustic-cargo-current-test` | ○ |

### doctor.el 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-44 | +lsp依存アサーション失敗 | E-04: L4-6 `(assert! (or (not (modulep! +lsp)) (modulep! :tools lsp)) ...)` | ○ |
| C-45 | +lsp依存アサーション成功 | E-04: L4-6 同上 | ○ |
| C-46 | +tree-sitter依存アサーション | E-04: L8-10 | ○ |
| C-47 | rust-ts-mode確認アサーション | E-04: L12-14 | ○ |
| C-48 | rustc未検出警告 | E-04: L16-17 `(unless (executable-find "rustc") (warn! ...))` | ○ |
| C-49 | rustc検出時警告なし | E-04: L16-17 同上 | ○ |
| C-50 | cargo未検出警告 | E-04: L19-20 | ○ |
| C-51 | rust-analyzer未検出警告 | E-04: L24-27 | ○ |
| C-52 | rls未検出警告 | E-04: L28-30 | ○ |
| C-53 | racer-cmd未検出警告 | E-04: L32-34 | ○ |
| C-54 | racer-rust-src-path未検出警告 | E-04: L35-37 | ○ |

### packages.el 関連
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-55 | rust-modeパッケージ定義 | E-05: L4 `(package! rust-mode :pin "f68ddca5c22b94a2de7c9ce20d629cd78d60b269")` | ○ |
| C-56 | rusticパッケージ定義 | E-05: L5 `(package! rustic :pin "cb013cd217ceed76b2336ff244ea3cf715bc449d")` | ○ |

## 4) 不足情報（Unknown / Missing）
- なし。全てのテストケースがソースコードの実装に基づいて作成されています。

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースに明確な根拠があり、ソースコードとの対応が明確

## 6) レビュアーチェックリスト（最小）
- [ ] LSP設定関連のテストケース（C-29〜C-35）がプロジェクトのLSP設定方針と整合しているか
- [ ] キーバインドテスト（C-40〜C-43）が実際のユーザー操作と一致するか
- [ ] doctor.elの環境検証テスト（C-48〜C-54）が対象環境で実行可能か
- [ ] tree-sitter関連テスト（C-18〜C-21）がEmacs 29以降の環境で検証可能か
- [ ] 境界値テスト（ABIバージョン判定）の閾値が最新仕様と一致するか
