nyash-codex
81a5a04eb7
feat(phase96): ArrayService/MapService実装完了 - downcastパターン確立
Phase 96完全達成 - Ring1-Core層の主要Service実装完成
### 実装成果
- ✅ ArrayService trait定義(len/get/set/push)
- ✅ MapService trait定義(size/has/get/set)
- ✅ ArrayBoxAdapter/MapBoxAdapter unit struct化
- ✅ downcastパターン実装(複数インスタンス対応)
- ✅ #[allow(dead_code)] 4→2箇所(2削除)
- ✅ テスト53/53 PASS(100%)
### 変更ファイル
- src/runtime/core_services.rs: ArrayService/MapService実装(+134行)
- src/runtime/plugin_host.rs: 初期化ロジック更新(+8/-12行)
- docs/development/current/main/core_boxes_design.md: Section 13追加(+228行)
### 3つのAdapterパターン確立
1. **Ring0直結型**(ConsoleService): OS API thin wrapper
2. **純粋関数型**(StringService): Box状態不要
3. **downcast型**(ArrayService/MapService)⭐ NEW
- unit struct + downcast_ref パターン
- 複数インスタンス対応
- Rust idiomatic API(Option/Result)
### API設計
- ArrayService: Rust型(i64)引数、内部でBox変換
- MapService: Rust型(&str)引数、内部でBox変換
- 戻り値: Option/Result で型安全
### 技術的成果
- 型安全性向上(downcast_ref によるコンパイル時検証)
- コード簡略化(#[allow(dead_code)] 2削除)
- 設計明確化(3パターンの使い分け確立)
### 削減統計
- #[allow(dead_code)]: 2箇所削除
- innerフィールド: 2個削除
- Box依存: 2箇所削除
### 次のステップ
Phase 96.5: use文整理とコメント更新
Phase 97: IntegerService/BoolService実装(#[allow(dead_code)] 完全削除)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 10:27:39 +09:00
..
2025-09-17 10:58:12 +09:00
2025-09-17 10:58:12 +09:00
2025-09-17 10:58:12 +09:00
2025-09-17 10:58:12 +09:00
2025-12-03 10:27:39 +09:00
2025-12-02 21:52:18 +09:00
2025-11-27 17:05:46 +09:00
2025-11-27 17:05:46 +09:00
2025-11-29 15:57:14 +09:00
2025-11-29 15:57:14 +09:00
2025-11-29 15:57:14 +09:00
2025-11-30 08:54:18 +09:00
2025-12-02 09:45:54 +09:00
2025-11-30 10:10:45 +09:00
2025-12-02 10:19:07 +09:00
2025-12-02 11:16:01 +09:00
2025-12-02 12:36:28 +09:00
2025-12-02 19:37:01 +09:00
2025-12-02 19:37:01 +09:00
2025-12-02 19:37:01 +09:00
2025-12-02 19:37:01 +09:00
2025-12-02 20:18:13 +09:00
2025-12-02 20:18:13 +09:00
2025-12-02 20:18:13 +09:00
2025-12-02 20:30:22 +09:00
2025-12-02 20:18:13 +09:00
2025-12-02 19:37:01 +09:00
2025-12-02 19:37:01 +09:00
2025-12-02 21:09:15 +09:00
2025-12-02 21:09:15 +09:00
2025-11-23 05:53:27 +09:00
2025-12-03 06:14:57 +09:00
2025-11-21 07:00:05 +09:00
2025-11-21 08:03:03 +09:00
2025-11-21 08:03:03 +09:00
2025-11-20 17:10:03 +09:00
2025-11-20 17:10:03 +09:00
2025-11-20 17:10:03 +09:00