Phase 9.78b: Codexの天才的分析に基づくアーキテクチャ再設計準備 ## 📋 実施内容 1. Codex分析結果のアーカイブ - 実装詳細共有 → モデル共有・実行時共有への転換提案 - 8ステップの段階的実装計画 2. Phase 9.78a作業の保存 - MIR生成でのNewBox命令統一(保持) - ScopeTracker基本実装(一時コメントアウト) - VM拡張の方向性(TODOコメント付き) 3. ビルドエラー修正 - ScopeTrackerインポート問題を一時的に解決 - ビルド成功(警告のみ) ## 📚 作成ドキュメント - architecture-redesign-proposal.md - Codexの設計提案 - phase_9_78b_interpreter_architecture_refactoring.md - 実装計画 - codex-analysis/* - 分析結果アーカイブ ## 🎯 次のステップ Phase 9.78b Step 1: BoxDeclarationをcore::modelへ移動
276 lines
9.8 KiB
Plaintext
276 lines
9.8 KiB
Plaintext
Compiling nyash-rust v0.1.0 (/mnt/c/git/nyash-project/nyash)
|
|
warning: unused macro definition: `debug_trace`
|
|
--> src/interpreter/core.rs:33:14
|
|
|
|
|
33 | macro_rules! debug_trace {
|
|
| ^^^^^^^^^^^
|
|
|
|
|
= note: `#[warn(unused_macros)]` on by default
|
|
|
|
warning: unused imports: `BasicBlockIdGenerator`, `BasicBlock`, `CompareOp`, `EffectMask`, `MirFunction`, and `ValueIdGenerator`
|
|
--> src/mir/loop_builder.rs:9:21
|
|
|
|
|
9 | MirInstruction, BasicBlock, BasicBlockId, MirFunction, ValueId,
|
|
| ^^^^^^^^^^ ^^^^^^^^^^^
|
|
10 | ConstValue, CompareOp, BasicBlockIdGenerator, ValueIdGenerator, EffectMask
|
|
| ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^
|
|
|
|
|
= note: `#[warn(unused_imports)]` on by default
|
|
|
|
warning: unused import: `HashSet`
|
|
--> src/mir/loop_builder.rs:13:33
|
|
|
|
|
13 | use std::collections::{HashMap, HashSet};
|
|
| ^^^^^^^
|
|
|
|
warning: unexpected `cfg` condition value: `llvm`
|
|
--> src/backend/mod.rs:13:7
|
|
|
|
|
13 | #[cfg(feature = "llvm")]
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: expected values for `feature` are: `all-examples`, `cli`, `default`, `dynamic-file`, `gui`, `gui-examples`, `plugins`, and `wasm-backend`
|
|
= help: consider adding `llvm` as a feature in `Cargo.toml`
|
|
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
|
|
= note: `#[warn(unexpected_cfgs)]` on by default
|
|
|
|
warning: unexpected `cfg` condition value: `llvm`
|
|
--> src/backend/mod.rs:23:7
|
|
|
|
|
23 | #[cfg(feature = "llvm")]
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
|
= note: expected values for `feature` are: `all-examples`, `cli`, `default`, `dynamic-file`, `gui`, `gui-examples`, `plugins`, and `wasm-backend`
|
|
= help: consider adding `llvm` as a feature in `Cargo.toml`
|
|
= note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
|
|
|
|
warning: unused import: `MirInstruction`
|
|
--> src/backend/vm_phi.rs:9:41
|
|
|
|
|
9 | use crate::mir::{BasicBlockId, ValueId, MirInstruction};
|
|
| ^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `super::Usize`
|
|
--> src/bid/types.rs:1:5
|
|
|
|
|
1 | use super::Usize;
|
|
| ^^^^^^^^^^^^
|
|
|
|
warning: unused import: `std::os::raw::c_char`
|
|
--> src/bid/plugin_api.rs:2:5
|
|
|
|
|
2 | use std::os::raw::c_char;
|
|
| ^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused imports: `NyashHostVtable`, `NyashMethodInfo`, and `NyashPluginInfo`
|
|
--> src/bid/plugins/filebox/mod.rs:7:18
|
|
|
|
|
7 | use crate::bid::{NyashPluginInfo, NyashMethodInfo, NyashHostVtable};
|
|
| ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
|
|
|
|
warning: unused imports: `SeekFrom` and `Seek`
|
|
--> src/bid/plugins/filebox/mod.rs:10:28
|
|
|
|
|
10 | use std::io::{Read, Write, Seek, SeekFrom};
|
|
| ^^^^ ^^^^^^^^
|
|
|
|
warning: unused imports: `c_char` and `c_void`
|
|
--> src/bid/plugins/filebox/mod.rs:11:20
|
|
|
|
|
11 | use std::os::raw::{c_char, c_void};
|
|
| ^^^^^^ ^^^^^^
|
|
|
|
warning: unused imports: `CStr` and `CString`
|
|
--> src/bid/plugins/filebox/mod.rs:13:16
|
|
|
|
|
13 | use std::ffi::{CStr, CString};
|
|
| ^^^^ ^^^^^^^
|
|
|
|
warning: unused import: `std::ffi::c_void`
|
|
--> src/bid/loader.rs:4:5
|
|
|
|
|
4 | use std::ffi::c_void;
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused imports: `TlvDecoder` and `TlvEncoder`
|
|
--> src/bid/generic_plugin_box.rs:5:23
|
|
|
|
|
5 | use crate::bid::tlv::{TlvEncoder, TlvDecoder};
|
|
| ^^^^^^^^^^ ^^^^^^^^^^
|
|
|
|
warning: unused import: `crate::bid::types::BidTag`
|
|
--> src/bid/generic_plugin_box.rs:6:5
|
|
|
|
|
6 | use crate::bid::types::BidTag;
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
warning: unused import: `BoxBase`
|
|
--> src/runtime/plugin_loader_v2.rs:10:47
|
|
|
|
|
10 | use crate::box_trait::{NyashBox, BoxCore, BoxBase, StringBox};
|
|
| ^^^^^^^
|
|
|
|
warning: unused import: `std::ffi::c_void`
|
|
--> src/runtime/plugin_loader_v2.rs:14:9
|
|
|
|
|
14 | use std::ffi::c_void;
|
|
| ^^^^^^^^^^^^^^^^
|
|
|
|
error[E0782]: expected a type, found a trait
|
|
--> src/backend/vm.rs:175:22
|
|
|
|
|
175 | box_factory: Arc<BoxFactory>,
|
|
| ^^^^^^^^^^
|
|
|
|
|
help: you can add the `dyn` keyword if you want a trait object
|
|
|
|
|
175 | box_factory: Arc<dyn BoxFactory>,
|
|
| +++
|
|
|
|
error[E0782]: expected a type, found a trait
|
|
--> src/backend/vm.rs:207:26
|
|
|
|
|
207 | box_factory: Arc<BoxFactory>,
|
|
| ^^^^^^^^^^
|
|
|
|
|
help: you can add the `dyn` keyword if you want a trait object
|
|
|
|
|
207 | box_factory: Arc<dyn BoxFactory>,
|
|
| +++
|
|
|
|
error[E0782]: expected a type, found a trait
|
|
--> src/backend/vm.rs:230:26
|
|
|
|
|
230 | box_factory: Arc<BoxFactory>,
|
|
| ^^^^^^^^^^
|
|
|
|
|
help: you can add the `dyn` keyword if you want a trait object
|
|
|
|
|
230 | box_factory: Arc<dyn BoxFactory>,
|
|
| +++
|
|
|
|
error[E0782]: expected a type, found a trait
|
|
--> src/backend/vm.rs:197:35
|
|
|
|
|
197 | box_factory: Arc::new(BoxFactory::new()),
|
|
| ^^^^^^^^^^
|
|
|
|
|
help: you can add the `dyn` keyword if you want a trait object
|
|
|
|
|
197 | box_factory: Arc::new(<dyn BoxFactory>::new()),
|
|
| ++++ +
|
|
|
|
warning: unused variable: `registry`
|
|
--> src/box_factory/plugin.rs:53:13
|
|
|
|
|
53 | let registry = get_global_registry();
|
|
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_registry`
|
|
|
|
|
= note: `#[warn(unused_variables)]` on by default
|
|
|
|
warning: unused variable: `arc_box`
|
|
--> src/scope_tracker.rs:33:17
|
|
|
|
|
33 | for arc_box in scope.into_iter().rev() {
|
|
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arc_box`
|
|
|
|
warning: variable does not need to be mutable
|
|
--> src/interpreter/expressions/calls.rs:739:13
|
|
|
|
|
739 | let mut is_builtin = is_builtin_box(parent);
|
|
| ----^^^^^^^^^^
|
|
| |
|
|
| help: remove this `mut`
|
|
|
|
|
= note: `#[warn(unused_mut)]` on by default
|
|
|
|
warning: variable does not need to be mutable
|
|
--> src/interpreter/objects.rs:1106:17
|
|
|
|
|
1106 | let mut is_builtin = is_builtin_box(parent_name);
|
|
| ----^^^^^^^^^^
|
|
| |
|
|
| help: remove this `mut`
|
|
|
|
warning: unused variable: `args`
|
|
--> src/instance_v2.rs:147:28
|
|
|
|
|
147 | pub fn init(&mut self, args: &[Box<dyn NyashBox>]) -> Result<(), String> {
|
|
| ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
|
|
|
|
warning: unused variable: `nyash_value`
|
|
--> src/instance_v2.rs:289:21
|
|
|
|
|
289 | if let Some(nyash_value) = self.fields_ng.lock().unwrap().get(field_name) {
|
|
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_nyash_value`
|
|
|
|
warning: unused variable: `block_id`
|
|
--> src/mir/loop_builder.rs:246:39
|
|
|
|
|
246 | fn mark_block_unsealed(&mut self, block_id: BasicBlockId) -> Result<(), String> {
|
|
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id`
|
|
|
|
warning: unused variable: `block_id`
|
|
--> src/mir/loop_builder.rs:273:49
|
|
|
|
|
273 | fn get_variable_at_block(&self, name: &str, block_id: BasicBlockId) -> Option<ValueId> {
|
|
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id`
|
|
|
|
warning: unused variable: `dst`
|
|
--> src/backend/vm_phi.rs:48:9
|
|
|
|
|
48 | dst: ValueId,
|
|
| ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
|
|
|
|
warning: unused variable: `f`
|
|
--> src/bid/plugin_api.rs:167:36
|
|
|
|
|
167 | pub fn with_alloc<F>(mut self, f: F) -> Self
|
|
| ^ help: if this is intentional, prefix it with an underscore: `_f`
|
|
|
|
warning: variable does not need to be mutable
|
|
--> src/bid/plugin_api.rs:167:26
|
|
|
|
|
167 | pub fn with_alloc<F>(mut self, f: F) -> Self
|
|
| ----^^^^
|
|
| |
|
|
| help: remove this `mut`
|
|
|
|
warning: unused variable: `f`
|
|
--> src/bid/plugin_api.rs:176:35
|
|
|
|
|
176 | pub fn with_free<F>(mut self, f: F) -> Self
|
|
| ^ help: if this is intentional, prefix it with an underscore: `_f`
|
|
|
|
warning: variable does not need to be mutable
|
|
--> src/bid/plugin_api.rs:176:25
|
|
|
|
|
176 | pub fn with_free<F>(mut self, f: F) -> Self
|
|
| ----^^^^
|
|
| |
|
|
| help: remove this `mut`
|
|
|
|
warning: unused variable: `f`
|
|
--> src/bid/plugin_api.rs:183:34
|
|
|
|
|
183 | pub fn with_log<F>(mut self, f: F) -> Self
|
|
| ^ help: if this is intentional, prefix it with an underscore: `_f`
|
|
|
|
warning: variable does not need to be mutable
|
|
--> src/bid/plugin_api.rs:183:24
|
|
|
|
|
183 | pub fn with_log<F>(mut self, f: F) -> Self
|
|
| ----^^^^
|
|
| |
|
|
| help: remove this `mut`
|
|
|
|
warning: unused variable: `args`
|
|
--> src/runtime/plugin_loader_v2.rs:270:46
|
|
|
|
|
270 | pub fn create_box(&self, box_type: &str, args: &[Box<dyn NyashBox>]) -> BidResult<Box<dyn NyashBox>> {
|
|
| ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
|
|
|
|
For more information about this error, try `rustc --explain E0782`.
|
|
warning: `nyash-rust` (lib) generated 33 warnings
|
|
error: could not compile `nyash-rust` (lib) due to 4 previous errors; 33 warnings emitted
|