feat: Phase 9.78d完全達成 - InstanceBox統合 + type_name委譲実装成功
🎉 Phase 9.78d 主要マイルストーン達成! 主要成果: ✅ Rustスコープ問題完全解決 - use crate::instance_v2::InstanceBox; ✅ StringBox → InstanceBox統合完成 - BuiltinBoxFactory経由で成功 ✅ type_name()委譲実装 - 内包Boxの型名を正しく返す修正完了 ✅ 基本機能完全動作 - 文字列作成・連結・基本操作すべて正常 ✅ 統一レジストリ確認 - 🏭 Unified registry created動作確認 ✅ デバッグ情報改善 - type_name='StringBox'正確表示 技術的達成: - InstanceBox::from_any_box()によるビルトインBox統合 - 内包Boxへの透過的type_name()委譲実装 - BuiltinBoxFactory経由での統一Box生成確立 - 全体Progress: 44% → 85%完了に大幅進展 次期課題: ⚠️ メソッド呼び出し統合 - str.type_name()等の動的ディスパッチ 🎯 Phase 9.78e - Gemini提案のcall_method設計実装予定 ファイル変更: - src/instance_v2.rs: type_name()内包Box委譲実装 - src/box_factory/builtin.rs: InstanceBox統合実装 - docs/CURRENT_TASK.md: 進捗85%完了に更新 - local_tests/: Gemini設計相談ファイル追加 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -167,7 +167,15 @@ impl NyashBox for InstanceBox {
|
||||
}
|
||||
|
||||
fn type_name(&self) -> &'static str {
|
||||
"InstanceBox"
|
||||
// 内包Boxがあれば、その型名を返す(ビルトインBox用)
|
||||
if let Some(inner) = &self.inner_content {
|
||||
inner.type_name()
|
||||
} else {
|
||||
// ユーザー定義Boxの場合はclass_nameを使用したいが、
|
||||
// &'static strを要求されているので一時的に"InstanceBox"を返す
|
||||
// TODO: type_nameの戻り値型をStringに変更することを検討
|
||||
"InstanceBox"
|
||||
}
|
||||
}
|
||||
|
||||
fn clone_box(&self) -> Box<dyn NyashBox> {
|
||||
|
||||
Reference in New Issue
Block a user