[INFO] cloning repository https://github.com/vnuxa/sigil [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vnuxa/sigil" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvnuxa%2Fsigil", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvnuxa%2Fsigil'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 17dc504d9977a042484e8da38578cb443bf432c9 [INFO] testing vnuxa/sigil against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvnuxa%2Fsigil" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/vnuxa/sigil [INFO] finished tweaking git repo https://github.com/vnuxa/sigil [INFO] tweaked toml for git repo https://github.com/vnuxa/sigil written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/vnuxa/sigil on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/vnuxa/sigil already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded chumsky v0.10.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 16a1758a7e24b269bcb827b33e6084698f5e4a30170a2bd2d40dcb119cf54444 [INFO] running `Command { std: "docker" "start" "-a" "16a1758a7e24b269bcb827b33e6084698f5e4a30170a2bd2d40dcb119cf54444", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "16a1758a7e24b269bcb827b33e6084698f5e4a30170a2bd2d40dcb119cf54444", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "16a1758a7e24b269bcb827b33e6084698f5e4a30170a2bd2d40dcb119cf54444", kill_on_drop: false }` [INFO] [stdout] 16a1758a7e24b269bcb827b33e6084698f5e4a30170a2bd2d40dcb119cf54444 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 78b4790a931d631c475605baf77cbc77a255035b220d4e4d8a70bd850021ade9 [INFO] running `Command { std: "docker" "start" "-a" "78b4790a931d631c475605baf77cbc77a255035b220d4e4d8a70bd850021ade9", kill_on_drop: false }` [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling beef v0.5.2 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling chumsky v0.10.1 [INFO] [stderr] Compiling foldhash v0.1.5 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling cc v1.2.19 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Compiling hashbrown v0.15.2 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling logos-codegen v0.15.0 [INFO] [stderr] Compiling psm v0.1.25 [INFO] [stderr] Compiling stacker v0.1.20 [INFO] [stderr] Compiling logos-derive v0.15.0 [INFO] [stderr] Compiling logos v0.15.0 [INFO] [stderr] Compiling sigil v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> src/main.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{cell::RefCell, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::clone` [INFO] [stdout] --> src/bytecode/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::clone; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chumsky::prelude::skip_then_retry_until` [INFO] [stdout] --> src/interpreter/codegen.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use chumsky::prelude::skip_then_retry_until; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `f32::consts::E`, `rc::Rc`, and `sync::Arc` [INFO] [stdout] --> src/interpreter/parser.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{f32::consts::E, rc::Rc, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `combinator::To` [INFO] [stdout] --> src/interpreter/parser.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use chumsky::{combinator::To, prelude::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parsing` [INFO] [stdout] --> src/interpreter/main.rs:186:16 [INFO] [stdout] | [INFO] [stdout] 186 | recursive(|parsing| { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsing` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude` [INFO] [stdout] --> src/interpreter/parser.rs:5:31 [INFO] [stdout] | [INFO] [stdout] 5 | use chumsky::{combinator::To, prelude::*}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bytecode/main.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | let mut function = self.functions[call_frame.function].clone(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/bytecode/main.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | e => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expression` [INFO] [stdout] --> src/interpreter/codegen.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | for expression in &syntax { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `condition` [INFO] [stdout] --> src/interpreter/codegen.rs:313:58 [INFO] [stdout] | [INFO] [stdout] 313 | InstructionData::JumpConditional(condition, true_block, false_block) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `true_block` [INFO] [stdout] --> src/interpreter/codegen.rs:313:69 [INFO] [stdout] | [INFO] [stdout] 313 | InstructionData::JumpConditional(condition, true_block, false_block) => { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_true_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `false_block` [INFO] [stdout] --> src/interpreter/codegen.rs:313:81 [INFO] [stdout] | [INFO] [stdout] 313 | InstructionData::JumpConditional(condition, true_block, false_block) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_false_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/interpreter/codegen.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | for var in old_len..self.variables.len() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_scope` [INFO] [stdout] --> src/interpreter/codegen.rs:333:21 [INFO] [stdout] | [INFO] [stdout] 333 | let first_scope = self.build_expression(*conditional, block_frame, current_block); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_scope` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `argument` [INFO] [stdout] --> src/interpreter/codegen.rs:409:33 [INFO] [stdout] | [INFO] [stdout] 409 | for (arg_index, argument) in arguments.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_argument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/codegen.rs:348:21 [INFO] [stdout] | [INFO] [stdout] 348 | let mut new_block = self.new_block(&mut block_frame.blocks, Some(current_block)); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `previous_function` [INFO] [stdout] --> src/interpreter/codegen.rs:517:17 [INFO] [stdout] | [INFO] [stdout] 517 | let mut previous_function = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frontier_function` [INFO] [stdout] --> src/interpreter/codegen.rs:560:54 [INFO] [stdout] | [INFO] [stdout] 560 | if let Some((frontier_block, frontier_function)) = frontier { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frontier_function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_function` [INFO] [stdout] --> src/interpreter/codegen.rs:755:46 [INFO] [stdout] | [INFO] [stdout] 755 | InstructionData::Closure(new_function, id) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/codegen.rs:517:13 [INFO] [stdout] | [INFO] [stdout] 517 | let mut previous_function = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func_id` [INFO] [stdout] --> src/interpreter/codegen.rs:907:46 [INFO] [stdout] | [INFO] [stdout] 907 | InstructionData::Upindex(func_id, ref_id) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ref_id` [INFO] [stdout] --> src/interpreter/codegen.rs:907:55 [INFO] [stdout] | [INFO] [stdout] 907 | InstructionData::Upindex(func_id, ref_id) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ref_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `previous_function` [INFO] [stdout] --> src/interpreter/codegen.rs:940:17 [INFO] [stdout] | [INFO] [stdout] 940 | let mut previous_function = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order_register` [INFO] [stdout] --> src/interpreter/codegen.rs:968:29 [INFO] [stdout] | [INFO] [stdout] 968 | let order_register = order_indices[first_function][first_instruction]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_register` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/codegen.rs:940:13 [INFO] [stdout] | [INFO] [stdout] 940 | let mut previous_function = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_ids` [INFO] [stdout] --> src/interpreter/codegen.rs:1039:17 [INFO] [stdout] | [INFO] [stdout] 1039 | let mut inserted_ids = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_ids` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comparison` [INFO] [stdout] --> src/interpreter/codegen.rs:1112:50 [INFO] [stdout] | [INFO] [stdout] 1112 | InstructionData::JumpConditional(comparison, target_true, target_false) => { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `false_target` [INFO] [stdout] --> src/interpreter/codegen.rs:1123:33 [INFO] [stdout] | [INFO] [stdout] 1123 | if let Some(false_target) = frame.blocks.get(*target_false) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_false_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_id` [INFO] [stdout] --> src/interpreter/codegen.rs:1154:55 [INFO] [stdout] | [INFO] [stdout] 1154 | InstructionData::Closure(function_id, variable_id) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `argument` [INFO] [stdout] --> src/interpreter/codegen.rs:1165:25 [INFO] [stdout] | [INFO] [stdout] 1165 | for argument in arguments { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_argument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/codegen.rs:1039:13 [INFO] [stdout] | [INFO] [stdout] 1039 | let mut inserted_ids = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_id` [INFO] [stdout] --> src/interpreter/codegen.rs:1277:59 [INFO] [stdout] | [INFO] [stdout] 1277 | if let InstructionData::Closure(func, var_id) = instructions[prev].data { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `conditional` [INFO] [stdout] --> src/interpreter/codegen.rs:1362:58 [INFO] [stdout] | [INFO] [stdout] 1362 | InstructionData::JumpConditional(conditional, target_1, target_2) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conditional` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variant` [INFO] [stdout] --> src/interpreter/codegen.rs:1711:43 [INFO] [stdout] | [INFO] [stdout] 1711 | InstructionData::MathOperands(variant, num_1, num_2) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variant` [INFO] [stdout] --> src/interpreter/codegen.rs:1715:49 [INFO] [stdout] | [INFO] [stdout] 1715 | InstructionData::ComparisonOperands(variant, num_1, num_2) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> src/interpreter/codegen.rs:1730:59 [INFO] [stdout] | [INFO] [stdout] 1730 | InstructionData::JumpConditional(instruction, v1, v2) => callback(instruction, &function_id), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> src/interpreter/codegen.rs:1730:63 [INFO] [stdout] | [INFO] [stdout] 1730 | InstructionData::JumpConditional(instruction, v1, v2) => callback(instruction, &function_id), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interpreter/codegen.rs:1733:13 [INFO] [stdout] | [INFO] [stdout] 1733 | e => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interpreter/codegen.rs:1772:13 [INFO] [stdout] | [INFO] [stdout] 1772 | e => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/interpreter/main.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | for (token, span) in lexer.spanned() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interpreter/main.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/interpreter/parser.rs:622:17 [INFO] [stdout] | [INFO] [stdout] 622 | for (token, span) in lexer.spanned() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/parser.rs:618:9 [INFO] [stdout] | [INFO] [stdout] 618 | let mut lexer = Tokens::lexer(&input); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `interpreter::main::Expressions` is more private than the item `interpreter::main::generate` [INFO] [stdout] --> src/interpreter/main.rs:223:1 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn generate(input: String) -> Expressions { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `interpreter::main::generate` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `interpreter::main::Expressions` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/interpreter/main.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | enum Expressions { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Tokens` is more private than the item `string_definition` [INFO] [stdout] --> src/interpreter/parser.rs:218:1 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn string_definition(lex: &mut Lexer) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `string_definition` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/interpreter/parser.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | enum Tokens { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Tokens` is more private than the item `infix_binding_power` [INFO] [stdout] --> src/interpreter/parser.rs:592:1 [INFO] [stdout] | [INFO] [stdout] 592 | pub fn infix_binding_power(token: &Tokens) -> Option<(u8, u8)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `infix_binding_power` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/interpreter/parser.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | enum Tokens { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Tokens` is more private than the item `postfix_binding_power` [INFO] [stdout] --> src/interpreter/parser.rs:609:1 [INFO] [stdout] | [INFO] [stdout] 609 | pub fn postfix_binding_power(token: &Tokens) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `postfix_binding_power` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/interpreter/parser.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | enum Tokens { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Thread` is never constructed [INFO] [stdout] --> src/bytecode/main.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct Thread { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `origin_pc` is never read [INFO] [stdout] --> src/bytecode/main.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct CallFrame { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 76 | pub origin_pc: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `locals` is never read [INFO] [stdout] --> src/bytecode/main.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct FunctionPrototype { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 92 | pub locals: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionPrototype` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `register_refrence` is never read [INFO] [stdout] --> src/bytecode/main.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct Upvalue { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 105 | pub register_refrence: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `upvalues`, `global_registers`, `program_counter`, `program`, and `remainder` are never read [INFO] [stdout] --> src/bytecode/main.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct VM { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 115 | upvalues: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 116 | // to store global variables [INFO] [stdout] 117 | global_registers: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 118 | // program counter that keeps track of which byte is being executed [INFO] [stdout] 119 | program_counter: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 120 | // all of the bytes to execute [INFO] [stdout] 121 | pub program: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 122 | // used to calculate the remainder for the divisional operator [INFO] [stdout] 123 | remainder: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/interpreter/codegen.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | LoadBool(bool), [INFO] [stdout] | -------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 9 - LoadBool(bool), [INFO] [stdout] 9 + LoadBool(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/interpreter/codegen.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | LoadString(String), [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 - LoadString(String), [INFO] [stdout] 11 + LoadString(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/interpreter/codegen.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | Param(usize), // a temporary value, with a variable i d, used for function arguments [INFO] [stdout] | ----- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 37 - Param(usize), // a temporary value, with a variable i d, used for function arguments [INFO] [stdout] 37 + Param(()), // a temporary value, with a variable i d, used for function arguments [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/interpreter/codegen.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum InstructionData { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 10 | LoadFloat(f32), // might have to use f64? [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | MakeLocal(String), // name [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | Unimplemented, // IMPORTANT: delete this once done [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | Copy(usize), [INFO] [stdout] | ^^^^ [INFO] [stdout] 31 | JumpConditional(usize, usize, usize), // instruction id, jump if true, jump if false [INFO] [stdout] 32 | ParallelCopy(usize, usize), // instruction_id, copy id [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | Return(Option), // returns a register? [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | EndOfFile, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Value` is never used [INFO] [stdout] --> src/interpreter/codegen.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | pub enum Value { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Register` is never used [INFO] [stdout] --> src/interpreter/codegen.rs:65:10 [INFO] [stdout] | [INFO] [stdout] 65 | pub enum Register { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phi_functions` is never read [INFO] [stdout] --> src/interpreter/codegen.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct Module { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 95 | pub phi_functions: IndexVec> [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `predecessor_block`, `definition_id`, and `upindex_amount` are never read [INFO] [stdout] --> src/interpreter/codegen.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct Functions { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 101 | pub name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 102 | pub frame: BlockFrame, [INFO] [stdout] 103 | pub predecessor_block: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 104 | pub predecessor_function: Option, [INFO] [stdout] 105 | pub definition_id: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 106 | pub upindex_amount: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phi_instructions` is never read [INFO] [stdout] --> src/interpreter/codegen.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 117 | pub struct BlockFrame { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 120 | pub phi_instructions: Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BlockFrame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `compile` and `get_outer_function` are never used [INFO] [stdout] --> src/interpreter/codegen.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 125 | impl Module { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 134 | fn compile(&self, syntax: Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 476 | fn get_outer_function(functions: &IndexVec, function_id: usize, requested_id: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `block_replace_args` is never used [INFO] [stdout] --> src/interpreter/codegen.rs:1642:12 [INFO] [stdout] | [INFO] [stdout] 1236 | impl Module { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1642 | pub fn block_replace_args( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Expressions` is never used [INFO] [stdout] --> src/interpreter/main.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | enum Expressions { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OperatorTokens` is never used [INFO] [stdout] --> src/interpreter/main.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | enum OperatorTokens { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_continue` is never used [INFO] [stdout] --> src/interpreter/main.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 106 | impl OperatorTokens { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 107 | fn can_continue(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StatementTokens` is never used [INFO] [stdout] --> src/interpreter/main.rs:120:6 [INFO] [stdout] | [INFO] [stdout] 120 | enum StatementTokens { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `global_definition` is never used [INFO] [stdout] --> src/interpreter/main.rs:148:4 [INFO] [stdout] | [INFO] [stdout] 148 | fn global_definition(lex: &mut Lexer) -> Option<(String, Option)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_parser` is never used [INFO] [stdout] --> src/interpreter/main.rs:180:4 [INFO] [stdout] | [INFO] [stdout] 180 | fn new_parser<'src>() -> impl Parser< [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate` is never used [INFO] [stdout] --> src/interpreter/main.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn generate(input: String) -> Expressions { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Param` is never constructed [INFO] [stdout] --> src/interpreter/parser.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum Expressions { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 34 | Param(usize), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expressions` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EndOfFile` is never constructed [INFO] [stdout] --> src/interpreter/parser.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 74 | enum Tokens { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 203 | EndOfFile, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Tokens` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/index_vec.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn iter(&self) -> core::slice::Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 66 | pub fn iter(&self) -> core::slice::Iter<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/index_vec.rs:71:21 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn iter_mut(&mut self) -> core::slice::IterMut { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 71 | pub fn iter_mut(&mut self) -> core::slice::IterMut<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.98s [INFO] running `Command { std: "docker" "inspect" "78b4790a931d631c475605baf77cbc77a255035b220d4e4d8a70bd850021ade9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78b4790a931d631c475605baf77cbc77a255035b220d4e4d8a70bd850021ade9", kill_on_drop: false }` [INFO] [stdout] 78b4790a931d631c475605baf77cbc77a255035b220d4e4d8a70bd850021ade9 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6b4904e99825a7d23e2a4c9c51d1d5bc8de6e6930006dd78ef18a37704a61e23 [INFO] running `Command { std: "docker" "start" "-a" "6b4904e99825a7d23e2a4c9c51d1d5bc8de6e6930006dd78ef18a37704a61e23", kill_on_drop: false }` [INFO] [stderr] Compiling sigil v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stdout] --> src/main.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | use std::{cell::RefCell, rc::Rc}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::clone` [INFO] [stdout] --> src/bytecode/main.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::clone; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chumsky::prelude::skip_then_retry_until` [INFO] [stdout] --> src/interpreter/codegen.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use chumsky::prelude::skip_then_retry_until; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `f32::consts::E`, `rc::Rc`, and `sync::Arc` [INFO] [stdout] --> src/interpreter/parser.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{f32::consts::E, rc::Rc, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `combinator::To` [INFO] [stdout] --> src/interpreter/parser.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use chumsky::{combinator::To, prelude::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `parsing` [INFO] [stdout] --> src/interpreter/main.rs:186:16 [INFO] [stdout] | [INFO] [stdout] 186 | recursive(|parsing| { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsing` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude` [INFO] [stdout] --> src/interpreter/parser.rs:5:31 [INFO] [stdout] | [INFO] [stdout] 5 | use chumsky::{combinator::To, prelude::*}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/bytecode/main.rs:150:13 [INFO] [stdout] | [INFO] [stdout] 150 | let mut function = self.functions[call_frame.function].clone(); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/bytecode/main.rs:422:13 [INFO] [stdout] | [INFO] [stdout] 422 | e => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expression` [INFO] [stdout] --> src/interpreter/codegen.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | for expression in &syntax { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expression` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `condition` [INFO] [stdout] --> src/interpreter/codegen.rs:313:58 [INFO] [stdout] | [INFO] [stdout] 313 | InstructionData::JumpConditional(condition, true_block, false_block) => { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `true_block` [INFO] [stdout] --> src/interpreter/codegen.rs:313:69 [INFO] [stdout] | [INFO] [stdout] 313 | InstructionData::JumpConditional(condition, true_block, false_block) => { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_true_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `false_block` [INFO] [stdout] --> src/interpreter/codegen.rs:313:81 [INFO] [stdout] | [INFO] [stdout] 313 | InstructionData::JumpConditional(condition, true_block, false_block) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_false_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var` [INFO] [stdout] --> src/interpreter/codegen.rs:325:21 [INFO] [stdout] | [INFO] [stdout] 325 | for var in old_len..self.variables.len() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `first_scope` [INFO] [stdout] --> src/interpreter/codegen.rs:333:21 [INFO] [stdout] | [INFO] [stdout] 333 | let first_scope = self.build_expression(*conditional, block_frame, current_block); [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_scope` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `argument` [INFO] [stdout] --> src/interpreter/codegen.rs:409:33 [INFO] [stdout] | [INFO] [stdout] 409 | for (arg_index, argument) in arguments.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_argument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/codegen.rs:348:21 [INFO] [stdout] | [INFO] [stdout] 348 | let mut new_block = self.new_block(&mut block_frame.blocks, Some(current_block)); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `previous_function` [INFO] [stdout] --> src/interpreter/codegen.rs:517:17 [INFO] [stdout] | [INFO] [stdout] 517 | let mut previous_function = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frontier_function` [INFO] [stdout] --> src/interpreter/codegen.rs:560:54 [INFO] [stdout] | [INFO] [stdout] 560 | if let Some((frontier_block, frontier_function)) = frontier { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frontier_function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `new_function` [INFO] [stdout] --> src/interpreter/codegen.rs:755:46 [INFO] [stdout] | [INFO] [stdout] 755 | InstructionData::Closure(new_function, id) => { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/codegen.rs:517:13 [INFO] [stdout] | [INFO] [stdout] 517 | let mut previous_function = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `func_id` [INFO] [stdout] --> src/interpreter/codegen.rs:907:46 [INFO] [stdout] | [INFO] [stdout] 907 | InstructionData::Upindex(func_id, ref_id) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ref_id` [INFO] [stdout] --> src/interpreter/codegen.rs:907:55 [INFO] [stdout] | [INFO] [stdout] 907 | InstructionData::Upindex(func_id, ref_id) => { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ref_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `previous_function` [INFO] [stdout] --> src/interpreter/codegen.rs:940:17 [INFO] [stdout] | [INFO] [stdout] 940 | let mut previous_function = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_function` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `order_register` [INFO] [stdout] --> src/interpreter/codegen.rs:968:29 [INFO] [stdout] | [INFO] [stdout] 968 | let order_register = order_indices[first_function][first_instruction]; [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_register` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/codegen.rs:940:13 [INFO] [stdout] | [INFO] [stdout] 940 | let mut previous_function = 0; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `inserted_ids` [INFO] [stdout] --> src/interpreter/codegen.rs:1039:17 [INFO] [stdout] | [INFO] [stdout] 1039 | let mut inserted_ids = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_ids` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `comparison` [INFO] [stdout] --> src/interpreter/codegen.rs:1112:50 [INFO] [stdout] | [INFO] [stdout] 1112 | InstructionData::JumpConditional(comparison, target_true, target_false) => { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comparison` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `false_target` [INFO] [stdout] --> src/interpreter/codegen.rs:1123:33 [INFO] [stdout] | [INFO] [stdout] 1123 | if let Some(false_target) = frame.blocks.get(*target_false) { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_false_target` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variable_id` [INFO] [stdout] --> src/interpreter/codegen.rs:1154:55 [INFO] [stdout] | [INFO] [stdout] 1154 | InstructionData::Closure(function_id, variable_id) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `argument` [INFO] [stdout] --> src/interpreter/codegen.rs:1165:25 [INFO] [stdout] | [INFO] [stdout] 1165 | for argument in arguments { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_argument` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/codegen.rs:1039:13 [INFO] [stdout] | [INFO] [stdout] 1039 | let mut inserted_ids = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_id` [INFO] [stdout] --> src/interpreter/codegen.rs:1277:59 [INFO] [stdout] | [INFO] [stdout] 1277 | if let InstructionData::Closure(func, var_id) = instructions[prev].data { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `conditional` [INFO] [stdout] --> src/interpreter/codegen.rs:1362:58 [INFO] [stdout] | [INFO] [stdout] 1362 | InstructionData::JumpConditional(conditional, target_1, target_2) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conditional` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variant` [INFO] [stdout] --> src/interpreter/codegen.rs:1711:43 [INFO] [stdout] | [INFO] [stdout] 1711 | InstructionData::MathOperands(variant, num_1, num_2) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `variant` [INFO] [stdout] --> src/interpreter/codegen.rs:1715:49 [INFO] [stdout] | [INFO] [stdout] 1715 | InstructionData::ComparisonOperands(variant, num_1, num_2) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v1` [INFO] [stdout] --> src/interpreter/codegen.rs:1730:59 [INFO] [stdout] | [INFO] [stdout] 1730 | InstructionData::JumpConditional(instruction, v1, v2) => callback(instruction, &function_id), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v2` [INFO] [stdout] --> src/interpreter/codegen.rs:1730:63 [INFO] [stdout] | [INFO] [stdout] 1730 | InstructionData::JumpConditional(instruction, v1, v2) => callback(instruction, &function_id), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interpreter/codegen.rs:1733:13 [INFO] [stdout] | [INFO] [stdout] 1733 | e => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interpreter/codegen.rs:1772:13 [INFO] [stdout] | [INFO] [stdout] 1772 | e => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/interpreter/main.rs:229:17 [INFO] [stdout] | [INFO] [stdout] 229 | for (token, span) in lexer.spanned() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/interpreter/main.rs:233:17 [INFO] [stdout] | [INFO] [stdout] 233 | Err(e) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `span` [INFO] [stdout] --> src/interpreter/parser.rs:622:17 [INFO] [stdout] | [INFO] [stdout] 622 | for (token, span) in lexer.spanned() { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/interpreter/parser.rs:618:9 [INFO] [stdout] | [INFO] [stdout] 618 | let mut lexer = Tokens::lexer(&input); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `interpreter::main::Expressions` is more private than the item `interpreter::main::generate` [INFO] [stdout] --> src/interpreter/main.rs:223:1 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn generate(input: String) -> Expressions { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `interpreter::main::generate` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `interpreter::main::Expressions` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/interpreter/main.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | enum Expressions { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Tokens` is more private than the item `string_definition` [INFO] [stdout] --> src/interpreter/parser.rs:218:1 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn string_definition(lex: &mut Lexer) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `string_definition` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/interpreter/parser.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | enum Tokens { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Tokens` is more private than the item `infix_binding_power` [INFO] [stdout] --> src/interpreter/parser.rs:592:1 [INFO] [stdout] | [INFO] [stdout] 592 | pub fn infix_binding_power(token: &Tokens) -> Option<(u8, u8)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `infix_binding_power` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/interpreter/parser.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | enum Tokens { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Tokens` is more private than the item `postfix_binding_power` [INFO] [stdout] --> src/interpreter/parser.rs:609:1 [INFO] [stdout] | [INFO] [stdout] 609 | pub fn postfix_binding_power(token: &Tokens) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `postfix_binding_power` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/interpreter/parser.rs:74:1 [INFO] [stdout] | [INFO] [stdout] 74 | enum Tokens { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Thread` is never constructed [INFO] [stdout] --> src/bytecode/main.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 69 | pub struct Thread { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `origin_pc` is never read [INFO] [stdout] --> src/bytecode/main.rs:76:9 [INFO] [stdout] | [INFO] [stdout] 73 | pub struct CallFrame { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 76 | pub origin_pc: usize, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `locals` is never read [INFO] [stdout] --> src/bytecode/main.rs:92:9 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct FunctionPrototype { [INFO] [stdout] | ----------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 92 | pub locals: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FunctionPrototype` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `register_refrence` is never read [INFO] [stdout] --> src/bytecode/main.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 104 | pub struct Upvalue { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 105 | pub register_refrence: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `upvalues`, `global_registers`, `program_counter`, `program`, and `remainder` are never read [INFO] [stdout] --> src/bytecode/main.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub struct VM { [INFO] [stdout] | -- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 115 | upvalues: Vec, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 116 | // to store global variables [INFO] [stdout] 117 | global_registers: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 118 | // program counter that keeps track of which byte is being executed [INFO] [stdout] 119 | program_counter: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 120 | // all of the bytes to execute [INFO] [stdout] 121 | pub program: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 122 | // used to calculate the remainder for the divisional operator [INFO] [stdout] 123 | remainder: u32, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/interpreter/codegen.rs:9:14 [INFO] [stdout] | [INFO] [stdout] 9 | LoadBool(bool), [INFO] [stdout] | -------- ^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 9 - LoadBool(bool), [INFO] [stdout] 9 + LoadBool(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/interpreter/codegen.rs:11:16 [INFO] [stdout] | [INFO] [stdout] 11 | LoadString(String), [INFO] [stdout] | ---------- ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 11 - LoadString(String), [INFO] [stdout] 11 + LoadString(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/interpreter/codegen.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | Param(usize), // a temporary value, with a variable i d, used for function arguments [INFO] [stdout] | ----- ^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 37 - Param(usize), // a temporary value, with a variable i d, used for function arguments [INFO] [stdout] 37 + Param(()), // a temporary value, with a variable i d, used for function arguments [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/interpreter/codegen.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum InstructionData { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 10 | LoadFloat(f32), // might have to use f64? [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | MakeLocal(String), // name [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | Unimplemented, // IMPORTANT: delete this once done [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | Copy(usize), [INFO] [stdout] | ^^^^ [INFO] [stdout] 31 | JumpConditional(usize, usize, usize), // instruction id, jump if true, jump if false [INFO] [stdout] 32 | ParallelCopy(usize, usize), // instruction_id, copy id [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | Return(Option), // returns a register? [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | EndOfFile, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Value` is never used [INFO] [stdout] --> src/interpreter/codegen.rs:58:10 [INFO] [stdout] | [INFO] [stdout] 58 | pub enum Value { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Register` is never used [INFO] [stdout] --> src/interpreter/codegen.rs:65:10 [INFO] [stdout] | [INFO] [stdout] 65 | pub enum Register { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phi_functions` is never read [INFO] [stdout] --> src/interpreter/codegen.rs:95:9 [INFO] [stdout] | [INFO] [stdout] 91 | pub struct Module { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 95 | pub phi_functions: IndexVec> [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `predecessor_block`, `definition_id`, and `upindex_amount` are never read [INFO] [stdout] --> src/interpreter/codegen.rs:101:9 [INFO] [stdout] | [INFO] [stdout] 100 | pub struct Functions { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 101 | pub name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 102 | pub frame: BlockFrame, [INFO] [stdout] 103 | pub predecessor_block: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 104 | pub predecessor_function: Option, [INFO] [stdout] 105 | pub definition_id: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 106 | pub upindex_amount: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `phi_instructions` is never read [INFO] [stdout] --> src/interpreter/codegen.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 117 | pub struct BlockFrame { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 120 | pub phi_instructions: Option>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BlockFrame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `compile` and `get_outer_function` are never used [INFO] [stdout] --> src/interpreter/codegen.rs:134:8 [INFO] [stdout] | [INFO] [stdout] 125 | impl Module { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 134 | fn compile(&self, syntax: Vec) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 476 | fn get_outer_function(functions: &IndexVec, function_id: usize, requested_id: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `block_replace_args` is never used [INFO] [stdout] --> src/interpreter/codegen.rs:1642:12 [INFO] [stdout] | [INFO] [stdout] 1236 | impl Module { [INFO] [stdout] | ----------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 1642 | pub fn block_replace_args( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Expressions` is never used [INFO] [stdout] --> src/interpreter/main.rs:17:6 [INFO] [stdout] | [INFO] [stdout] 17 | enum Expressions { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `OperatorTokens` is never used [INFO] [stdout] --> src/interpreter/main.rs:33:6 [INFO] [stdout] | [INFO] [stdout] 33 | enum OperatorTokens { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `can_continue` is never used [INFO] [stdout] --> src/interpreter/main.rs:107:8 [INFO] [stdout] | [INFO] [stdout] 106 | impl OperatorTokens { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 107 | fn can_continue(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `StatementTokens` is never used [INFO] [stdout] --> src/interpreter/main.rs:120:6 [INFO] [stdout] | [INFO] [stdout] 120 | enum StatementTokens { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `global_definition` is never used [INFO] [stdout] --> src/interpreter/main.rs:148:4 [INFO] [stdout] | [INFO] [stdout] 148 | fn global_definition(lex: &mut Lexer) -> Option<(String, Option)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `new_parser` is never used [INFO] [stdout] --> src/interpreter/main.rs:180:4 [INFO] [stdout] | [INFO] [stdout] 180 | fn new_parser<'src>() -> impl Parser< [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate` is never used [INFO] [stdout] --> src/interpreter/main.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn generate(input: String) -> Expressions { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Param` is never constructed [INFO] [stdout] --> src/interpreter/parser.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum Expressions { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 34 | Param(usize), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expressions` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `EndOfFile` is never constructed [INFO] [stdout] --> src/interpreter/parser.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 74 | enum Tokens { [INFO] [stdout] | ------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 203 | EndOfFile, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Tokens` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/index_vec.rs:66:17 [INFO] [stdout] | [INFO] [stdout] 66 | pub fn iter(&self) -> core::slice::Iter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 66 | pub fn iter(&self) -> core::slice::Iter<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/index_vec.rs:71:21 [INFO] [stdout] | [INFO] [stdout] 71 | pub fn iter_mut(&mut self) -> core::slice::IterMut { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 71 | pub fn iter_mut(&mut self) -> core::slice::IterMut<'_, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 4.81s [INFO] running `Command { std: "docker" "inspect" "6b4904e99825a7d23e2a4c9c51d1d5bc8de6e6930006dd78ef18a37704a61e23", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6b4904e99825a7d23e2a4c9c51d1d5bc8de6e6930006dd78ef18a37704a61e23", kill_on_drop: false }` [INFO] [stdout] 6b4904e99825a7d23e2a4c9c51d1d5bc8de6e6930006dd78ef18a37704a61e23 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] c912ab8ea9ea39e8ab71f09ecaa7fb2799bce7545ead165f2c15ccdb9498c91c [INFO] running `Command { std: "docker" "start" "-a" "c912ab8ea9ea39e8ab71f09ecaa7fb2799bce7545ead165f2c15ccdb9498c91c", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `cell::RefCell` and `rc::Rc` [INFO] [stderr] --> src/main.rs:3:11 [INFO] [stderr] | [INFO] [stderr] 3 | use std::{cell::RefCell, rc::Rc}; [INFO] [stderr] | ^^^^^^^^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::clone` [INFO] [stderr] --> src/bytecode/main.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::clone; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `chumsky::prelude::skip_then_retry_until` [INFO] [stderr] --> src/interpreter/codegen.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use chumsky::prelude::skip_then_retry_until; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `f32::consts::E`, `rc::Rc`, and `sync::Arc` [INFO] [stderr] --> src/interpreter/parser.rs:1:11 [INFO] [stderr] | [INFO] [stderr] 1 | use std::{f32::consts::E, rc::Rc, sync::Arc}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `combinator::To` [INFO] [stderr] --> src/interpreter/parser.rs:5:15 [INFO] [stderr] | [INFO] [stderr] 5 | use chumsky::{combinator::To, prelude::*}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `parsing` [INFO] [stderr] --> src/interpreter/main.rs:186:16 [INFO] [stderr] | [INFO] [stderr] 186 | recursive(|parsing| { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsing` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `prelude` [INFO] [stderr] --> src/interpreter/parser.rs:5:31 [INFO] [stderr] | [INFO] [stderr] 5 | use chumsky::{combinator::To, prelude::*}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bytecode/main.rs:150:13 [INFO] [stderr] | [INFO] [stderr] 150 | let mut function = self.functions[call_frame.function].clone(); [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/bytecode/main.rs:422:13 [INFO] [stderr] | [INFO] [stderr] 422 | e => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `expression` [INFO] [stderr] --> src/interpreter/codegen.rs:135:13 [INFO] [stderr] | [INFO] [stderr] 135 | for expression in &syntax { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expression` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `condition` [INFO] [stderr] --> src/interpreter/codegen.rs:313:58 [INFO] [stderr] | [INFO] [stderr] 313 | InstructionData::JumpConditional(condition, true_block, false_block) => { [INFO] [stderr] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `true_block` [INFO] [stderr] --> src/interpreter/codegen.rs:313:69 [INFO] [stderr] | [INFO] [stderr] 313 | InstructionData::JumpConditional(condition, true_block, false_block) => { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_true_block` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `false_block` [INFO] [stderr] --> src/interpreter/codegen.rs:313:81 [INFO] [stderr] | [INFO] [stderr] 313 | InstructionData::JumpConditional(condition, true_block, false_block) => { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_false_block` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `var` [INFO] [stderr] --> src/interpreter/codegen.rs:325:21 [INFO] [stderr] | [INFO] [stderr] 325 | for var in old_len..self.variables.len() { [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_var` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `first_scope` [INFO] [stderr] --> src/interpreter/codegen.rs:333:21 [INFO] [stderr] | [INFO] [stderr] 333 | let first_scope = self.build_expression(*conditional, block_frame, current_block); [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_scope` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `argument` [INFO] [stderr] --> src/interpreter/codegen.rs:409:33 [INFO] [stderr] | [INFO] [stderr] 409 | for (arg_index, argument) in arguments.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_argument` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter/codegen.rs:348:21 [INFO] [stderr] | [INFO] [stderr] 348 | let mut new_block = self.new_block(&mut block_frame.blocks, Some(current_block)); [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `previous_function` [INFO] [stderr] --> src/interpreter/codegen.rs:517:17 [INFO] [stderr] | [INFO] [stderr] 517 | let mut previous_function = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_function` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `frontier_function` [INFO] [stderr] --> src/interpreter/codegen.rs:560:54 [INFO] [stderr] | [INFO] [stderr] 560 | if let Some((frontier_block, frontier_function)) = frontier { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frontier_function` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `new_function` [INFO] [stderr] --> src/interpreter/codegen.rs:755:46 [INFO] [stderr] | [INFO] [stderr] 755 | InstructionData::Closure(new_function, id) => { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_function` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter/codegen.rs:517:13 [INFO] [stderr] | [INFO] [stderr] 517 | let mut previous_function = 0; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `func_id` [INFO] [stderr] --> src/interpreter/codegen.rs:907:46 [INFO] [stderr] | [INFO] [stderr] 907 | InstructionData::Upindex(func_id, ref_id) => { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ref_id` [INFO] [stderr] --> src/interpreter/codegen.rs:907:55 [INFO] [stderr] | [INFO] [stderr] 907 | InstructionData::Upindex(func_id, ref_id) => { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ref_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `previous_function` [INFO] [stderr] --> src/interpreter/codegen.rs:940:17 [INFO] [stderr] | [INFO] [stderr] 940 | let mut previous_function = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_function` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `order_register` [INFO] [stderr] --> src/interpreter/codegen.rs:968:29 [INFO] [stderr] | [INFO] [stderr] 968 | let order_register = order_indices[first_function][first_instruction]; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_register` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter/codegen.rs:940:13 [INFO] [stderr] | [INFO] [stderr] 940 | let mut previous_function = 0; [INFO] [stderr] | ----^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `inserted_ids` [INFO] [stderr] --> src/interpreter/codegen.rs:1039:17 [INFO] [stderr] | [INFO] [stderr] 1039 | let mut inserted_ids = 0; [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_ids` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `comparison` [INFO] [stderr] --> src/interpreter/codegen.rs:1112:50 [INFO] [stderr] | [INFO] [stderr] 1112 | InstructionData::JumpConditional(comparison, target_true, target_false) => { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comparison` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `false_target` [INFO] [stderr] --> src/interpreter/codegen.rs:1123:33 [INFO] [stderr] | [INFO] [stderr] 1123 | if let Some(false_target) = frame.blocks.get(*target_false) { [INFO] [stderr] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_false_target` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `variable_id` [INFO] [stderr] --> src/interpreter/codegen.rs:1154:55 [INFO] [stderr] | [INFO] [stderr] 1154 | InstructionData::Closure(function_id, variable_id) => { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `argument` [INFO] [stderr] --> src/interpreter/codegen.rs:1165:25 [INFO] [stderr] | [INFO] [stderr] 1165 | for argument in arguments { [INFO] [stderr] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_argument` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter/codegen.rs:1039:13 [INFO] [stderr] | [INFO] [stderr] 1039 | let mut inserted_ids = 0; [INFO] [stderr] | ----^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `var_id` [INFO] [stderr] --> src/interpreter/codegen.rs:1277:59 [INFO] [stderr] | [INFO] [stderr] 1277 | if let InstructionData::Closure(func, var_id) = instructions[prev].data { [INFO] [stderr] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_id` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `conditional` [INFO] [stderr] --> src/interpreter/codegen.rs:1362:58 [INFO] [stderr] | [INFO] [stderr] 1362 | InstructionData::JumpConditional(conditional, target_1, target_2) => { [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conditional` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `variant` [INFO] [stderr] --> src/interpreter/codegen.rs:1711:43 [INFO] [stderr] | [INFO] [stderr] 1711 | InstructionData::MathOperands(variant, num_1, num_2) => { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `variant` [INFO] [stderr] --> src/interpreter/codegen.rs:1715:49 [INFO] [stderr] | [INFO] [stderr] 1715 | InstructionData::ComparisonOperands(variant, num_1, num_2) => { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v1` [INFO] [stderr] --> src/interpreter/codegen.rs:1730:59 [INFO] [stderr] | [INFO] [stderr] 1730 | InstructionData::JumpConditional(instruction, v1, v2) => callback(instruction, &function_id), [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_v1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v2` [INFO] [stderr] --> src/interpreter/codegen.rs:1730:63 [INFO] [stderr] | [INFO] [stderr] 1730 | InstructionData::JumpConditional(instruction, v1, v2) => callback(instruction, &function_id), [INFO] [stderr] | ^^ help: if this is intentional, prefix it with an underscore: `_v2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/interpreter/codegen.rs:1733:13 [INFO] [stderr] | [INFO] [stderr] 1733 | e => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/interpreter/codegen.rs:1772:13 [INFO] [stderr] | [INFO] [stderr] 1772 | e => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/interpreter/main.rs:229:17 [INFO] [stderr] | [INFO] [stderr] 229 | for (token, span) in lexer.spanned() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/interpreter/main.rs:233:17 [INFO] [stderr] | [INFO] [stderr] 233 | Err(e) => { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `span` [INFO] [stderr] --> src/interpreter/parser.rs:622:17 [INFO] [stderr] | [INFO] [stderr] 622 | for (token, span) in lexer.spanned() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_span` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interpreter/parser.rs:618:9 [INFO] [stderr] | [INFO] [stderr] 618 | let mut lexer = Tokens::lexer(&input); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: type `interpreter::main::Expressions` is more private than the item `interpreter::main::generate` [INFO] [stderr] --> src/interpreter/main.rs:223:1 [INFO] [stderr] | [INFO] [stderr] 223 | pub fn generate(input: String) -> Expressions { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `interpreter::main::generate` is reachable at visibility `pub(crate)` [INFO] [stderr] | [INFO] [stderr] note: but type `interpreter::main::Expressions` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/interpreter/main.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | enum Expressions { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(private_interfaces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: type `Tokens` is more private than the item `string_definition` [INFO] [stderr] --> src/interpreter/parser.rs:218:1 [INFO] [stderr] | [INFO] [stderr] 218 | pub fn string_definition(lex: &mut Lexer) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `string_definition` is reachable at visibility `pub(crate)` [INFO] [stderr] | [INFO] [stderr] note: but type `Tokens` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/interpreter/parser.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | enum Tokens { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `Tokens` is more private than the item `infix_binding_power` [INFO] [stderr] --> src/interpreter/parser.rs:592:1 [INFO] [stderr] | [INFO] [stderr] 592 | pub fn infix_binding_power(token: &Tokens) -> Option<(u8, u8)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `infix_binding_power` is reachable at visibility `pub(crate)` [INFO] [stderr] | [INFO] [stderr] note: but type `Tokens` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/interpreter/parser.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | enum Tokens { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: type `Tokens` is more private than the item `postfix_binding_power` [INFO] [stderr] --> src/interpreter/parser.rs:609:1 [INFO] [stderr] | [INFO] [stderr] 609 | pub fn postfix_binding_power(token: &Tokens) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `postfix_binding_power` is reachable at visibility `pub(crate)` [INFO] [stderr] | [INFO] [stderr] note: but type `Tokens` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/interpreter/parser.rs:74:1 [INFO] [stderr] | [INFO] [stderr] 74 | enum Tokens { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Thread` is never constructed [INFO] [stderr] --> src/bytecode/main.rs:69:12 [INFO] [stderr] | [INFO] [stderr] 69 | pub struct Thread { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: field `origin_pc` is never read [INFO] [stderr] --> src/bytecode/main.rs:76:9 [INFO] [stderr] | [INFO] [stderr] 73 | pub struct CallFrame { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 76 | pub origin_pc: usize, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `locals` is never read [INFO] [stderr] --> src/bytecode/main.rs:92:9 [INFO] [stderr] | [INFO] [stderr] 84 | pub struct FunctionPrototype { [INFO] [stderr] | ----------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 92 | pub locals: Vec, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FunctionPrototype` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `register_refrence` is never read [INFO] [stderr] --> src/bytecode/main.rs:105:9 [INFO] [stderr] | [INFO] [stderr] 104 | pub struct Upvalue { [INFO] [stderr] | ------- field in this struct [INFO] [stderr] 105 | pub register_refrence: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `upvalues`, `global_registers`, `program_counter`, `program`, and `remainder` are never read [INFO] [stderr] --> src/bytecode/main.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 108 | pub struct VM { [INFO] [stderr] | -- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 115 | upvalues: Vec, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 116 | // to store global variables [INFO] [stderr] 117 | global_registers: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] 118 | // program counter that keeps track of which byte is being executed [INFO] [stderr] 119 | program_counter: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 120 | // all of the bytes to execute [INFO] [stderr] 121 | pub program: Vec, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 122 | // used to calculate the remainder for the divisional operator [INFO] [stderr] 123 | remainder: u32, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/interpreter/codegen.rs:9:14 [INFO] [stderr] | [INFO] [stderr] 9 | LoadBool(bool), [INFO] [stderr] | -------- ^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 9 - LoadBool(bool), [INFO] [stderr] 9 + LoadBool(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/interpreter/codegen.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | LoadString(String), [INFO] [stderr] | ---------- ^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 11 - LoadString(String), [INFO] [stderr] 11 + LoadString(()), [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: field `0` is never read [INFO] [stderr] --> src/interpreter/codegen.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | Param(usize), // a temporary value, with a variable i d, used for function arguments [INFO] [stderr] | ----- ^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stderr] | [INFO] [stderr] 37 - Param(usize), // a temporary value, with a variable i d, used for function arguments [INFO] [stderr] 37 + Param(()), // a temporary value, with a variable i d, used for function arguments [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: multiple variants are never constructed [INFO] [stderr] --> src/interpreter/codegen.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 6 | pub enum InstructionData { [INFO] [stderr] | --------------- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 10 | LoadFloat(f32), // might have to use f64? [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 13 | MakeLocal(String), // name [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 25 | Unimplemented, // IMPORTANT: delete this once done [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 30 | Copy(usize), [INFO] [stderr] | ^^^^ [INFO] [stderr] 31 | JumpConditional(usize, usize, usize), // instruction id, jump if true, jump if false [INFO] [stderr] 32 | ParallelCopy(usize, usize), // instruction_id, copy id [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 35 | Return(Option), // returns a register? [INFO] [stderr] | ^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 38 | EndOfFile, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: enum `Value` is never used [INFO] [stderr] --> src/interpreter/codegen.rs:58:10 [INFO] [stderr] | [INFO] [stderr] 58 | pub enum Value { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Register` is never used [INFO] [stderr] --> src/interpreter/codegen.rs:65:10 [INFO] [stderr] | [INFO] [stderr] 65 | pub enum Register { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `phi_functions` is never read [INFO] [stderr] --> src/interpreter/codegen.rs:95:9 [INFO] [stderr] | [INFO] [stderr] 91 | pub struct Module { [INFO] [stderr] | ------ field in this struct [INFO] [stderr] ... [INFO] [stderr] 95 | pub phi_functions: IndexVec> [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `name`, `predecessor_block`, `definition_id`, and `upindex_amount` are never read [INFO] [stderr] --> src/interpreter/codegen.rs:101:9 [INFO] [stderr] | [INFO] [stderr] 100 | pub struct Functions { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 101 | pub name: Option, [INFO] [stderr] | ^^^^ [INFO] [stderr] 102 | pub frame: BlockFrame, [INFO] [stderr] 103 | pub predecessor_block: Option, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 104 | pub predecessor_function: Option, [INFO] [stderr] 105 | pub definition_id: usize, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 106 | pub upindex_amount: usize, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `phi_instructions` is never read [INFO] [stderr] --> src/interpreter/codegen.rs:120:9 [INFO] [stderr] | [INFO] [stderr] 117 | pub struct BlockFrame { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 120 | pub phi_instructions: Option>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `BlockFrame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated items `compile` and `get_outer_function` are never used [INFO] [stderr] --> src/interpreter/codegen.rs:134:8 [INFO] [stderr] | [INFO] [stderr] 125 | impl Module { [INFO] [stderr] | ----------- associated items in this implementation [INFO] [stderr] ... [INFO] [stderr] 134 | fn compile(&self, syntax: Vec) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 476 | fn get_outer_function(functions: &IndexVec, function_id: usize, requested_id: usize) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `block_replace_args` is never used [INFO] [stderr] --> src/interpreter/codegen.rs:1642:12 [INFO] [stderr] | [INFO] [stderr] 1236 | impl Module { [INFO] [stderr] | ----------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 1642 | pub fn block_replace_args( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `Expressions` is never used [INFO] [stderr] --> src/interpreter/main.rs:17:6 [INFO] [stderr] | [INFO] [stderr] 17 | enum Expressions { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `OperatorTokens` is never used [INFO] [stderr] --> src/interpreter/main.rs:33:6 [INFO] [stderr] | [INFO] [stderr] 33 | enum OperatorTokens { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `can_continue` is never used [INFO] [stderr] --> src/interpreter/main.rs:107:8 [INFO] [stderr] | [INFO] [stderr] 106 | impl OperatorTokens { [INFO] [stderr] | ------------------- method in this implementation [INFO] [stderr] 107 | fn can_continue(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum `StatementTokens` is never used [INFO] [stderr] --> src/interpreter/main.rs:120:6 [INFO] [stderr] | [INFO] [stderr] 120 | enum StatementTokens { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `global_definition` is never used [INFO] [stderr] --> src/interpreter/main.rs:148:4 [INFO] [stderr] | [INFO] [stderr] 148 | fn global_definition(lex: &mut Lexer) -> Option<(String, Option)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `new_parser` is never used [INFO] [stderr] --> src/interpreter/main.rs:180:4 [INFO] [stderr] | [INFO] [stderr] 180 | fn new_parser<'src>() -> impl Parser< [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `generate` is never used [INFO] [stderr] --> src/interpreter/main.rs:223:8 [INFO] [stderr] | [INFO] [stderr] 223 | pub fn generate(input: String) -> Expressions { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant `Param` is never constructed [INFO] [stderr] --> src/interpreter/parser.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 29 | pub enum Expressions { [INFO] [stderr] | ----------- variant in this enum [INFO] [stderr] ... [INFO] [stderr] 34 | Param(usize), [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Expressions` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: variant `EndOfFile` is never constructed [INFO] [stderr] --> src/interpreter/parser.rs:203:5 [INFO] [stderr] | [INFO] [stderr] 74 | enum Tokens { [INFO] [stderr] | ------ variant in this enum [INFO] [stderr] ... [INFO] [stderr] 203 | EndOfFile, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Tokens` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/index_vec.rs:66:17 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn iter(&self) -> core::slice::Iter { [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 66 | pub fn iter(&self) -> core::slice::Iter<'_, V> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/index_vec.rs:71:21 [INFO] [stderr] | [INFO] [stderr] 71 | pub fn iter_mut(&mut self) -> core::slice::IterMut { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 71 | pub fn iter_mut(&mut self) -> core::slice::IterMut<'_, V> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `sigil` (bin "sigil" test) generated 75 warnings (run `cargo fix --bin "sigil" --tests` to apply 13 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sigil-783e99123c394541) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "c912ab8ea9ea39e8ab71f09ecaa7fb2799bce7545ead165f2c15ccdb9498c91c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c912ab8ea9ea39e8ab71f09ecaa7fb2799bce7545ead165f2c15ccdb9498c91c", kill_on_drop: false }` [INFO] [stdout] c912ab8ea9ea39e8ab71f09ecaa7fb2799bce7545ead165f2c15ccdb9498c91c