Files
hakorune/check.err
nyash-codex dda65b94b7 Phase 21.7 normalization: optimization pre-work + bench harness expansion
- Add opt-in optimizations (defaults OFF)
  - Ret purity verifier: NYASH_VERIFY_RET_PURITY=1
  - strlen FAST enhancement for const handles
  - FAST_INT gate for same-BB SSA optimization
  - length cache for string literals in llvmlite
- Expand bench harness (tools/perf/microbench.sh)
  - Add branch/call/stringchain/arraymap/chip8/kilo cases
  - Auto-calculate ratio vs C reference
  - Document in benchmarks/README.md
- Compiler health improvements
  - Unify PHI insertion to insert_phi_at_head()
  - Add NYASH_LLVM_SKIP_BUILD=1 for build reuse
- Runtime & safety enhancements
  - Clarify Rust/Hako ownership boundaries
  - Strengthen receiver localization (LocalSSA/pin/after-PHIs)
  - Stop excessive PluginInvoke→BoxCall rewrites
- Update CURRENT_TASK.md, docs, and canaries

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-13 16:40:58 +09:00

865 lines
34 KiB
Plaintext

warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
package: /home/tomoaki/git/hakorune-selfhost/plugins/nyash-console-plugin/Cargo.toml
workspace: /home/tomoaki/git/hakorune-selfhost/Cargo.toml
warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
package: /home/tomoaki/git/hakorune-selfhost/plugins/nyash-counter-plugin/Cargo.toml
workspace: /home/tomoaki/git/hakorune-selfhost/Cargo.toml
warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
package: /home/tomoaki/git/hakorune-selfhost/plugins/nyash-filebox-plugin/Cargo.toml
workspace: /home/tomoaki/git/hakorune-selfhost/Cargo.toml
warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
package: /home/tomoaki/git/hakorune-selfhost/plugins/nyash-json-plugin/Cargo.toml
workspace: /home/tomoaki/git/hakorune-selfhost/Cargo.toml
warning: profiles for the non root package will be ignored, specify profiles at the workspace root:
package: /home/tomoaki/git/hakorune-selfhost/plugins/nyash-math-plugin/Cargo.toml
workspace: /home/tomoaki/git/hakorune-selfhost/Cargo.toml
warning: /home/tomoaki/git/hakorune-selfhost/Cargo.toml: file `/home/tomoaki/git/hakorune-selfhost/src/main.rs` found to be present in multiple build targets:
* `bin` target `hakorune`
* `bin` target `nyash`
warning: unused doc comment
--> src/box_operators/static_ops.rs:14:1
|
14 | / /// Static numeric operations for IntegerBox
15 | | ///
16 | | /// Generates implementations for: Add, Sub, Mul, Div with zero-division error handling
| |_--------------------------------------------------------------------------------------^
| |
| rustdoc does not generate documentation for macro invocations
|
= help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
= note: `#[warn(unused_doc_comments)]` on by default
warning: unused doc comment
--> src/box_operators/static_ops.rs:19:1
|
19 | / /// Static numeric operations for FloatBox
20 | | ///
21 | | /// Generates implementations for: Add, Sub, Mul, Div with zero-division error handling
| |_--------------------------------------------------------------------------------------^
| |
| rustdoc does not generate documentation for macro invocations
|
= help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
warning: unused import: `std::any::Any`
--> src/boxes/arithmetic/modulo_box.rs:6:5
|
6 | use std::any::Any;
| ^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
warning: unused import: `super::library`
--> src/runtime/plugin_loader_v2/enabled/loader/config.rs:1:5
|
1 | use super::library;
| ^^^^^^^^^^^^^^
warning: unused import: `super::specs`
--> src/runtime/plugin_loader_v2/enabled/loader/singletons.rs:1:5
|
1 | use super::specs;
| ^^^^^^^^^^^^
warning: unused import: `PluginBoxV2`
--> src/runtime/plugin_loader_v2/enabled/loader/mod.rs:9:55
|
9 | use super::types::{LoadedPluginV2, PluginBoxMetadata, PluginBoxV2, PluginHandleInner};
| ^^^^^^^^^^^
warning: unused import: `BidError`
--> src/runtime/plugin_loader_v2/enabled/loader/mod.rs:10:18
|
10 | use crate::bid::{BidError, BidResult};
| ^^^^^^^^
warning: unused import: `std::collections::HashMap`
--> src/runtime/plugin_loader_v2/enabled/method_resolver.rs:8:5
|
8 | use std::collections::HashMap;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `FactoryPolicy`
--> src/runtime/unified_registry.rs:11:46
|
11 | use crate::box_factory::{UnifiedBoxRegistry, FactoryPolicy};
| ^^^^^^^^^^^^^
warning: unexpected `cfg` condition value: `cranelift-jit`
--> src/runner/dispatch.rs:159:15
|
159 | #[cfg(feature = "cranelift-jit")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: expected values for `feature` are: `all-examples`, `aot-plan-import`, `builtin-core`, `builtin-filebox`, `c-core`, `cli`, `default`, `dynamic-file`, `e2e`, `gui`, `gui-examples`, `interpreter-legacy`, `jit-direct-only`, `llvm`, `llvm-harness`, `llvm-inkwell-legacy`, `mir_refbarrier_unify_poc`, `mir_typeop_poc`, `phi-legacy`, `plugins`, `plugins-only`, `tlv-shim`, `vm-legacy`, and `wasm-backend`
= help: consider adding `cranelift-jit` 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: `cranelift-jit`
--> src/runner/dispatch.rs:164:19
|
164 | #[cfg(not(feature = "cranelift-jit"))]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: expected values for `feature` are: `all-examples`, `aot-plan-import`, `builtin-core`, `builtin-filebox`, `c-core`, `cli`, `default`, `dynamic-file`, `e2e`, `gui`, `gui-examples`, `interpreter-legacy`, `jit-direct-only`, `llvm`, `llvm-harness`, `llvm-inkwell-legacy`, `mir_refbarrier_unify_poc`, `mir_typeop_poc`, `phi-legacy`, `plugins`, `plugins-only`, `tlv-shim`, `vm-legacy`, and `wasm-backend`
= help: consider adding `cranelift-jit` 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: unexpected `cfg` condition value: `cranelift-jit`
--> src/runner/dispatch.rs:190:15
|
190 | #[cfg(feature = "cranelift-jit")]
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: expected values for `feature` are: `all-examples`, `aot-plan-import`, `builtin-core`, `builtin-filebox`, `c-core`, `cli`, `default`, `dynamic-file`, `e2e`, `gui`, `gui-examples`, `interpreter-legacy`, `jit-direct-only`, `llvm`, `llvm-harness`, `llvm-inkwell-legacy`, `mir_refbarrier_unify_poc`, `mir_typeop_poc`, `phi-legacy`, `plugins`, `plugins-only`, `tlv-shim`, `vm-legacy`, and `wasm-backend`
= help: consider adding `cranelift-jit` 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: `BinaryOp`
--> src/runner/json_v0_bridge/lowering.rs:5:35
|
5 | MirPrinter, MirType, ValueId, BinaryOp,
| ^^^^^^^^
warning: unused import: `MirInstruction`
--> src/runner/json_v0_bridge/lowering/if_else.rs:2:45
|
2 | use crate::mir::{BasicBlockId, MirFunction, MirInstruction, ValueId};
| ^^^^^^^^^^^^^^
warning: unused import: `BinaryOp`
--> src/runner/json_v0_bridge/lowering/expr.rs:6:19
|
6 | BasicBlockId, BinaryOp, ConstValue, EffectMask, MirFunction, MirInstruction, ValueId,
| ^^^^^^^^
warning: unused import: `MirInstruction`
--> src/runner/json_v0_bridge/lowering/ternary.rs:8:45
|
8 | use crate::mir::{BasicBlockId, MirFunction, MirInstruction, ValueId};
| ^^^^^^^^^^^^^^
warning: unused import: `MirInstruction`
--> src/runner/json_v0_bridge/lowering/throw_ctx.rs:1:45
|
1 | use crate::mir::{BasicBlockId, MirFunction, MirInstruction, ValueId};
| ^^^^^^^^^^^^^^
warning: unused import: `NyashBox`
--> src/runner/modes/vm.rs:420:40
|
420 | use crate::box_trait::{NyashBox, IntegerBox, BoolBox};
| ^^^^^^^^
warning: unused import: `NyashBox`
--> src/runner/modes/vm_fallback.rs:324:40
|
324 | use crate::box_trait::{NyashBox, IntegerBox, BoolBox};
| ^^^^^^^^
warning: unused import: `crate::runner::child_env`
--> src/runner/pipe_io.rs:13:5
|
13 | use crate::runner::child_env;
| ^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `std::io::Write`
--> src/host_providers/mir_builder.rs:4:5
|
4 | use std::io::Write;
| ^^^^^^^^^^^^^^
warning: unused import: `crate::box_trait::NyashBox`
--> src/backend/mir_interpreter/handlers/boxes_object_fields.rs:2:5
|
2 | use crate::box_trait::NyashBox;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `crate::box_trait::NyashBox`
--> src/backend/mir_interpreter/handlers/boxes_string.rs:2:5
|
2 | use crate::box_trait::NyashBox;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: variable does not need to be mutable
--> src/parser/statements/mod.rs:134:13
|
134 | let mut looks_like_method_head = |this: &Self| -> bool {
| ----^^^^^^^^^^^^^^^^^^^^^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` on by default
warning: unused variable: `program_ast`
--> src/mir/builder/decls.rs:43:25
|
43 | let program_ast = ASTNode::Program {
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program_ast`
|
= note: `#[warn(unused_variables)]` on by default
warning: unused variable: `type_id`
--> src/mir/builder/decls.rs:118:13
|
118 | let type_id = crate::mir::builder::emission::constant::emit_string(self, format!("__box_type_{}", name));
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_id`
warning: unreachable pattern
--> src/mir/builder/exprs.rs:330:13
|
10 | ASTNode::Program { statements, .. } => {
| ----------------------------------- matches all the relevant values
...
330 | ASTNode::Program { statements, .. } => self.cf_block(statements.clone()),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
|
= note: `#[warn(unreachable_patterns)]` on by default
warning: unreachable pattern
--> src/mir/builder/exprs.rs:333:13
|
14 | ASTNode::Print { expression, .. } => {
| --------------------------------- matches all the relevant values
...
333 | ASTNode::Print { expression, .. } => self.build_print_statement(*expression.clone()),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
warning: unreachable pattern
--> src/mir/builder/exprs.rs:335:13
|
17 | / ASTNode::If {
18 | | condition,
19 | | then_body,
20 | | else_body,
21 | | ..
22 | | } => {
| |_____________- matches all the relevant values
...
335 | / ASTNode::If {
336 | | condition,
337 | | then_body,
338 | | else_body,
339 | | ..
340 | | } => {
| |_____________^ no value can reach this
warning: unreachable pattern
--> src/mir/builder/exprs.rs:359:13
|
34 | ASTNode::Loop { condition, body, .. } => {
| ------------------------------------- matches all the relevant values
...
359 | / ASTNode::Loop {
360 | | condition, body, ..
361 | | } => self.cf_loop(*condition.clone(), body.clone()),
| |_____________^ no value can reach this
warning: unreachable pattern
--> src/mir/builder/exprs.rs:363:13
|
41 | / ASTNode::TryCatch {
42 | | try_body,
43 | | catch_clauses,
44 | | finally_body,
45 | | ..
46 | | } => self.cf_try_catch(try_body, catch_clauses, finally_body),
| |_____________- matches all the relevant values
...
363 | / ASTNode::TryCatch {
364 | | try_body,
365 | | catch_clauses,
366 | | finally_body,
367 | | ..
368 | | } => self.cf_try_catch(
| |_____________^ no value can reach this
warning: unreachable pattern
--> src/mir/builder/exprs.rs:374:13
|
47 | ASTNode::Throw { expression, .. } => self.cf_throw(*expression),
| --------------------------------- matches all the relevant values
...
374 | ASTNode::Throw { expression, .. } => self.cf_throw(*expression.clone()),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this
warning: unused variable: `else_block`
--> src/mir/builder/phi.rs:15:9
|
15 | else_block: super::BasicBlockId,
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_else_block`
warning: unused variable: `then_block`
--> src/mir/builder/phi.rs:107:9
|
107 | then_block: BasicBlockId,
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_then_block`
warning: unused variable: `else_block`
--> src/mir/builder/phi.rs:108:9
|
108 | else_block: BasicBlockId,
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_else_block`
warning: unused variable: `func`
--> src/mir/builder/lifecycle.rs:241:60
|
241 | ... MirInstruction::Call { func, .. } => {
| ^^^^-
| |
| help: try removing the field
warning: variable does not need to be mutable
--> src/mir/builder/lifecycle.rs:271:17
|
271 | let mut sig = FunctionSignature {
| ----^^^
| |
| help: remove this `mut`
warning: unused variable: `name_const`
--> src/mir/builder/rewrite/known.rs:186:9
|
186 | let name_const = match crate::mir::builder::name_const::make_name_const_result(builder, &fname) {
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_name_const`
warning: unused variable: `name_const`
--> src/mir/builder/rewrite/special.rs:154:17
|
154 | let name_const = match crate::mir::builder::name_const::make_name_const_result(builder, &chosen) {
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_name_const`
warning: unused variable: `name_const`
--> src/mir/builder/rewrite/special.rs:185:13
|
185 | let name_const = match crate::mir::builder::name_const::make_name_const_result(builder, &fname) {
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_name_const`
warning: unused variable: `name_const`
--> src/mir/builder/rewrite/special.rs:212:17
|
212 | let name_const = match crate::mir::builder::name_const::make_name_const_result(builder, &fname) {
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_name_const`
warning: unused variable: `dbg_fn_name`
--> src/mir/builder.rs:424:13
|
424 | let dbg_fn_name = self
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dbg_fn_name`
warning: unused variable: `dbg_region_id`
--> src/mir/builder.rs:428:13
|
428 | let dbg_region_id = self.debug_current_region_id();
| ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dbg_region_id`
warning: unused variable: `else_block`
--> src/mir/phi_core/if_phi.rs:148:5
|
148 | else_block: crate::mir::BasicBlockId,
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_else_block`
warning: variable does not need to be mutable
--> src/mir/phi_core/loop_phi.rs:185:13
|
185 | let mut inc = IncompletePhi {
| ----^^^
| |
| help: remove this `mut`
warning: unused variable: `static_box_name`
--> src/backend/mir_interpreter/exec.rs:23:13
|
23 | let static_box_name = self.is_static_box_method(&func.signature.name);
| ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_static_box_name`
warning: variable does not need to be mutable
--> src/backend/mir_interpreter/handlers/boxes_instance.rs:105:17
|
105 | let mut cands: Vec<String> = this
| ----^^^^^
| |
| help: remove this `mut`
warning: unreachable pattern
--> src/backend/mir_interpreter/handlers/externals.rs:138:13
|
30 | ("env", "get") => {
| -------------- matches all the relevant values
...
138 | ("env", "get") => {
| ^^^^^^^^^^^^^^ no value can reach this
warning: unused variable: `source`
--> src/benchmarks.rs:48:23
|
48 | if let Ok(source) = fs::read_to_string(file_path) {
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_source`
warning: variable does not need to be mutable
--> src/benchmarks.rs:36:13
|
36 | let mut results = Vec::new();
| ----^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `lib`
--> src/runtime/plugin_loader_v2/enabled/method_resolver.rs:40:19
|
40 | for ((lib, bt), spec) in map.iter() {
| ^^^ help: if this is intentional, prefix it with an underscore: `_lib`
warning: unnecessary `unsafe` block
--> src/runtime/plugin_loader_v2/enabled/method_resolver.rs:50:39
|
50 | ... let mid = unsafe { res_fn(cstr.as_ptr()) };
| ^^^^^^ unnecessary `unsafe` block
|
= note: `#[warn(unused_unsafe)]` on by default
warning: variable does not need to be mutable
--> src/runner/json_v0_bridge/lowering/ternary.rs:38:9
|
38 | let mut inputs = vec![(tend, tval), (eend, eval)];
| ----^^^^^^
| |
| help: remove this `mut`
warning: unreachable pattern
--> src/runner/json_v1_bridge.rs:512:29
|
368 | ... "Constructor" => {
| ------------- matches all the relevant values
...
512 | ... "Constructor" => {
| ^^^^^^^^^^^^^ no value can reach this
warning: unused variable: `filename`
--> src/runner/modes/vm_fallback.rs:349:44
|
349 | fn execute_vm_fallback_from_ast(&self, filename: &str, ast: nyash_rust::ast::ASTNode) {
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
warning: unused variable: `ast_on`
--> src/runner/modes/common_util/resolve/strip.rs:444:9
|
444 | let ast_on = crate::config::env::env_bool("NYASH_USING_AST");
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ast_on`
warning: unused variable: `using_resolver`
--> src/runner/modes/common_util/resolve/prelude_manager.rs:126:17
|
126 | let using_resolver = UsingResolutionBox::new(&self.runner, path)?;
| ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_using_resolver`
warning: unused variable: `filename`
--> src/runner/modes/common_util/resolve/prelude_manager.rs:114:9
|
114 | filename: &str,
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
warning: unused variable: `filename`
--> src/runner/modes/common_util/resolve/selfhost_pipeline.rs:132:9
|
132 | filename: &str,
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
warning: unused variable: `code`
--> src/runner/modes/common_util/resolve/selfhost_pipeline.rs:182:9
|
182 | code: &str,
| ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
warning: unused variable: `filename`
--> src/runner/modes/common_util/resolve/selfhost_pipeline.rs:183:9
|
183 | filename: &str,
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_filename`
warning: variable does not need to be mutable
--> src/runner/modes/common_util/plugin_guard.rs:25:9
|
25 | let mut v = vec![
| ----^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> src/runner/pipe_io.rs:23:13
|
23 | let mut json = if let Some(path) = &groups.parser.json_file {
| ----^^^^
| |
| help: remove this `mut`
warning: unused variable: `code`
--> src/runner/plugins.rs:61:40
|
61 | ... Ok(code) => {
| ^^^^ help: if this is intentional, prefix it with an underscore: `_code`
warning: value assigned to `out` is never read
--> src/runner/hv1_inline.rs:132:25
|
132 | let mut out = 0i64;
| ^^^
|
= help: maybe it is overwritten before being read?
= note: `#[warn(unused_assignments)]` on by default
warning: variable does not need to be mutable
--> src/host_providers/mir_builder.rs:49:38
|
49 | Ok(JsonValue::Object(mut m)) => {
| ----^
| |
| help: remove this `mut`
warning: methods `peek`, `peek_nth`, `get_mode`, and `set_mode` are never used
--> src/parser/cursor.rs:46:12
|
23 | impl<'a> TokenCursor<'a> {
| ------------------------ methods in this implementation
...
46 | pub fn peek(&self) -> &Token {
| ^^^^
...
55 | pub fn peek_nth(&self, n: usize) -> &Token {
| ^^^^^^^^
...
223 | pub fn get_mode(&self) -> NewlineMode {
| ^^^^^^^^
...
228 | pub fn set_mode(&mut self, mode: NewlineMode) {
| ^^^^^^^^
|
= note: `#[warn(dead_code)]` on by default
warning: methods `err_unexpected` and `expect_identifier` are never used
--> src/parser/statements/helpers.rs:62:19
|
18 | impl NyashParser {
| ---------------- methods in this implementation
...
62 | pub(super) fn err_unexpected<S: Into<String>>(&self, expected: S) -> ParseError {
| ^^^^^^^^^^^^^^
...
71 | pub(super) fn expect_identifier(&mut self, what: &str) -> Result<String, ParseError> {
| ^^^^^^^^^^^^^^^^^
warning: function `is_env_interface` is never used
--> src/mir/builder/calls/extern_calls.rs:152:8
|
152 | pub fn is_env_interface(name: &str) -> bool {
| ^^^^^^^^^^^^^^^^
warning: function `is_numeric_value` is never used
--> src/mir/builder/calls/special_handlers.rs:61:8
|
61 | pub fn is_numeric_value(node: &ASTNode) -> bool {
| ^^^^^^^^^^^^^^^^
warning: function `extract_numeric_type` is never used
--> src/mir/builder/calls/special_handlers.rs:73:8
|
73 | pub fn extract_numeric_type(node: &ASTNode) -> Option<MirType> {
| ^^^^^^^^^^^^^^^^^^^^
warning: function `make_function_name_with_arity` is never used
--> src/mir/builder/calls/special_handlers.rs:120:8
|
120 | pub fn make_function_name_with_arity(base_name: &str, arity: usize) -> String {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: function `is_reserved_function` is never used
--> src/mir/builder/calls/special_handlers.rs:125:8
|
125 | pub fn is_reserved_function(name: &str) -> bool {
| ^^^^^^^^^^^^^^^^^^^^
warning: function `suggest_alternative_for_reserved` is never used
--> src/mir/builder/calls/special_handlers.rs:133:8
|
133 | pub fn suggest_alternative_for_reserved(name: &str) -> String {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: function `generate_static_method_function_name` is never used
--> src/mir/builder/calls/function_lowering.rs:88:8
|
88 | pub fn generate_static_method_function_name(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: function `needs_void_termination` is never used
--> src/mir/builder/calls/function_lowering.rs:97:8
|
97 | pub fn needs_void_termination(returns_value: bool, is_terminated: bool) -> bool {
| ^^^^^^^^^^^^^^^^^^^^^^
warning: function `create_method_parameter_mapping` is never used
--> src/mir/builder/calls/function_lowering.rs:103:8
|
103 | pub fn create_method_parameter_mapping(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: function `create_static_parameter_mapping` is never used
--> src/mir/builder/calls/function_lowering.rs:121:8
|
121 | pub fn create_static_parameter_mapping(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: function `method_likely_returns_value` is never used
--> src/mir/builder/calls/function_lowering.rs:138:8
|
138 | pub fn method_likely_returns_value(method_name: &str) -> bool {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: function `is_commonly_shadowed_method` is never used
--> src/mir/builder/call_resolution.rs:49:8
|
49 | pub fn is_commonly_shadowed_method(method: &str) -> bool {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: function `generate_self_recursion_warning` is never used
--> src/mir/builder/call_resolution.rs:60:8
|
60 | pub fn generate_self_recursion_warning(box_name: &str, method: &str) -> String {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: associated function `is_typeop_method` is never used
--> src/mir/builder/method_call_handlers.rs:64:19
|
11 | impl MirBuilder {
| --------------- associated function in this implementation
...
64 | pub(super) fn is_typeop_method(method: &str, arguments: &[ASTNode]) -> Option<String> {
| ^^^^^^^^^^^^^^^^
warning: method `materialize_local` is never used
--> src/mir/builder/utils.rs:297:19
|
106 | impl super::MirBuilder {
| ---------------------- method in this implementation
...
297 | pub(crate) fn materialize_local(&mut self, v: super::ValueId) -> Result<super::ValueId, String> {
| ^^^^^^^^^^^^^^^^^
warning: function `try_known_rewrite` is never used
--> src/mir/builder/rewrite/known.rs:22:15
|
22 | pub(crate) fn try_known_rewrite(
| ^^^^^^^^^^^^^^^^^
warning: function `try_unique_suffix_rewrite` is never used
--> src/mir/builder/rewrite/known.rs:122:15
|
122 | pub(crate) fn try_unique_suffix_rewrite(
| ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: function `try_known_or_unique` is never used
--> src/mir/builder/rewrite/known.rs:215:15
|
215 | pub(crate) fn try_known_or_unique(
| ^^^^^^^^^^^^^^^^^^^
warning: function `try_early_str_like` is never used
--> src/mir/builder/rewrite/special.rs:5:15
|
5 | pub(crate) fn try_early_str_like(
| ^^^^^^^^^^^^^^^^^^
warning: function `try_special_equals` is never used
--> src/mir/builder/rewrite/special.rs:107:15
|
107 | pub(crate) fn try_special_equals(
| ^^^^^^^^^^^^^^^^^^
warning: function `propagate_with_override` is never used
--> src/mir/builder/metadata/propagate.rs:21:8
|
21 | pub fn propagate_with_override(builder: &mut MirBuilder, dst: ValueId, ty: MirType) {
| ^^^^^^^^^^^^^^^^^^^^^^^
warning: function `emit_eq_to` is never used
--> src/mir/builder/emission/compare.rs:20:8
|
20 | pub fn emit_eq_to(b: &mut MirBuilder, dst: ValueId, lhs: ValueId, rhs: ValueId) -> Result<(), String> {
| ^^^^^^^^^^
warning: function `emit_ne_to` is never used
--> src/mir/builder/emission/compare.rs:25:8
|
25 | pub fn emit_ne_to(b: &mut MirBuilder, dst: ValueId, lhs: ValueId, rhs: ValueId) -> Result<(), String> {
| ^^^^^^^^^^
warning: function `set_type` is never used
--> src/mir/builder/types/annotation.rs:8:8
|
8 | pub fn set_type(builder: &mut MirBuilder, dst: ValueId, ty: MirType) {
| ^^^^^^^^
warning: methods `try_handle_map_box`, `try_handle_string_box`, and `try_handle_array_box` are never used
--> src/backend/mir_interpreter/handlers/boxes.rs:281:8
|
4 | impl MirInterpreter {
| ------------------- methods in this implementation
...
281 | fn try_handle_map_box(
| ^^^^^^^^^^^^^^^^^^
...
292 | fn try_handle_string_box(
| ^^^^^^^^^^^^^^^^^^^^^
...
303 | fn try_handle_array_box(
| ^^^^^^^^^^^^^^^^^^^^
warning: associated function `ensure_mir_json_version_field` is never used
--> src/backend/mir_interpreter/handlers/externals.rs:6:8
|
4 | impl MirInterpreter {
| ------------------- associated function in this implementation
5 | #[inline]
6 | fn ensure_mir_json_version_field(s: &str) -> String {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: method `write_box_result` is never used
--> src/backend/mir_interpreter/utils/destination_helpers.rs:16:19
|
9 | impl MirInterpreter {
| ------------------- method in this implementation
...
16 | pub(crate) fn write_box_result(
| ^^^^^^^^^^^^^^^^
warning: methods `validate_args_range` and `validate_args_min` are never used
--> src/backend/mir_interpreter/utils/arg_validation.rs:47:19
|
8 | impl MirInterpreter {
| ------------------- methods in this implementation
...
47 | pub(crate) fn validate_args_range(
| ^^^^^^^^^^^^^^^^^^^
...
74 | pub(crate) fn validate_args_min(
| ^^^^^^^^^^^^^^^^^
warning: method `convert_to_box` is never used
--> src/backend/mir_interpreter/utils/receiver_helpers.rs:18:19
|
9 | impl MirInterpreter {
| ------------------- method in this implementation
...
18 | pub(crate) fn convert_to_box(
| ^^^^^^^^^^^^^^
warning: associated functions `type_mismatch`, `out_of_bounds`, `receiver_type_error`, `arg_count_min`, and `from_error` are never used
--> src/backend/mir_interpreter/utils/error_helpers.rs:43:12
|
16 | impl ErrorBuilder {
| ----------------- associated functions in this implementation
...
43 | pub fn type_mismatch(method: &str, expected: &str, actual: &str) -> VMError {
| ^^^^^^^^^^^^^
...
60 | pub fn out_of_bounds(method: &str, index: usize, len: usize) -> VMError {
| ^^^^^^^^^^^^^
...
96 | pub fn receiver_type_error(expected: &str) -> VMError {
| ^^^^^^^^^^^^^^^^^^^
...
126 | pub fn arg_count_min(method: &str, min: usize, actual: usize) -> VMError {
| ^^^^^^^^^^^^^
...
156 | pub fn from_error(operation: &str, error: &dyn std::error::Error) -> VMError {
| ^^^^^^^^^^
warning: methods `err_type_mismatch` and `err_out_of_bounds` are never used
--> src/backend/mir_interpreter/utils/error_helpers.rs:181:19
|
162 | impl super::super::MirInterpreter {
| --------------------------------- methods in this implementation
...
181 | pub(crate) fn err_type_mismatch(&self, method: &str, expected: &str, actual: &str) -> VMError {
| ^^^^^^^^^^^^^^^^^
...
192 | pub(crate) fn err_out_of_bounds(&self, method: &str, index: usize, len: usize) -> VMError {
| ^^^^^^^^^^^^^^^^^
warning: methods `load_as_int`, `load_as_bool`, and `load_args_as_values` are never used
--> src/backend/mir_interpreter/utils/conversion_helpers.rs:45:19
|
9 | impl MirInterpreter {
| ------------------- methods in this implementation
...
45 | pub(crate) fn load_as_int(&mut self, vid: ValueId) -> Result<i64, VMError> {
| ^^^^^^^^^^^
...
74 | pub(crate) fn load_as_bool(&mut self, vid: ValueId) -> Result<bool, VMError> {
| ^^^^^^^^^^^^
...
115 | pub(crate) fn load_args_as_values(
| ^^^^^^^^^^^^^^^^^^^
warning: field `returns_result` is never read
--> src/runtime/plugin_loader_v2/enabled/loader/specs.rs:21:16
|
19 | pub(crate) struct MethodSpec {
| ---------- field in this struct
20 | pub(crate) method_id: u32,
21 | pub(crate) returns_result: bool,
| ^^^^^^^^^^^^^^
|
= note: `MethodSpec` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: function `is_special_method` is never used
--> src/runtime/plugin_loader_v2/enabled/method_resolver.rs:133:15
|
133 | pub(super) fn is_special_method(method_name: &str) -> bool {
| ^^^^^^^^^^^^^^^^^
warning: function `get_special_method_id` is never used
--> src/runtime/plugin_loader_v2/enabled/method_resolver.rs:138:15
|
138 | pub(super) fn get_special_method_id(method_name: &str) -> Option<u32> {
| ^^^^^^^^^^^^^^^^^^^^^
warning: function `post_run_exit_if_oob_strict_triggered` is never used
--> src/runner/child_env.rs:11:8
|
11 | pub fn post_run_exit_if_oob_strict_triggered() -> ! {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: function `demo_interpreter_system` is never used
--> src/runner/demos.rs:93:15
|
93 | pub(super) fn demo_interpreter_system() {
| ^^^^^^^^^^^^^^^^^^^^^^^
warning: method `execute_vm_fallback_from_ast` is never used
--> src/runner/modes/vm_fallback.rs:349:8
|
347 | impl NyashRunner {
| ---------------- method in this implementation
348 | /// Small helper to continue fallback execution once AST is prepared
349 | fn execute_vm_fallback_from_ast(&self, filename: &str, ast: nyash_rust::ast::ASTNode) {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: field `filename_canon` is never read
--> src/runner/modes/common_util/resolve/using_resolution.rs:17:5
|
13 | pub struct UsingResolutionBox<'a> {
| ------------------ field in this struct
...
17 | filename_canon: Option<PathBuf>,
| ^^^^^^^^^^^^^^
warning: function `suggest_in_base` is never used
--> src/runner/pipeline.rs:87:15
|
87 | pub(super) fn suggest_in_base(base: &str, leaf: &str, out: &mut Vec<String>) {
| ^^^^^^^^^^^^^^^
warning: `nyash-rust` (lib) generated 108 warnings (run `cargo fix --lib -p nyash-rust` to apply 26 suggestions)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.07s