[INFO] cloning repository https://github.com/nowknowing/rust-groupproj-personal [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nowknowing/rust-groupproj-personal" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnowknowing%2Frust-groupproj-personal", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnowknowing%2Frust-groupproj-personal'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5e1aa210bc48067066652155f843ed5ce9981f30 [INFO] checking nowknowing/rust-groupproj-personal against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnowknowing%2Frust-groupproj-personal" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nowknowing/rust-groupproj-personal on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nowknowing/rust-groupproj-personal [INFO] finished tweaking git repo https://github.com/nowknowing/rust-groupproj-personal [INFO] tweaked toml for git repo https://github.com/nowknowing/rust-groupproj-personal written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/nowknowing/rust-groupproj-personal 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" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded pest_consume_macros v1.1.0 [INFO] [stderr] Downloaded pest_consume v1.1.1 [INFO] [stderr] Downloaded syn v1.0.87 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ba3c0954b8a690301d26fd18c6653ef01093531a84dd0ddd2fb751edd7a53971 [INFO] running `Command { std: "docker" "start" "-a" "ba3c0954b8a690301d26fd18c6653ef01093531a84dd0ddd2fb751edd7a53971", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ba3c0954b8a690301d26fd18c6653ef01093531a84dd0ddd2fb751edd7a53971", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba3c0954b8a690301d26fd18c6653ef01093531a84dd0ddd2fb751edd7a53971", kill_on_drop: false }` [INFO] [stdout] ba3c0954b8a690301d26fd18c6653ef01093531a84dd0ddd2fb751edd7a53971 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0e38348a528f0a70e4929bc92fe3ac96ef86e8d1e6069c2b1b31415d4e6dc0d5 [INFO] running `Command { std: "docker" "start" "-a" "0e38348a528f0a70e4929bc92fe3ac96ef86e8d1e6069c2b1b31415d4e6dc0d5", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling syn v1.0.87 [INFO] [stderr] Compiling ucd-trie v0.1.3 [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stderr] Checking pest v2.1.3 [INFO] [stderr] Compiling quote v1.0.15 [INFO] [stderr] Compiling pest_meta v2.1.3 [INFO] [stderr] Compiling pest_generator v2.1.3 [INFO] [stderr] Compiling pest_consume_macros v1.1.0 [INFO] [stderr] Compiling pest_derive v2.1.0 [INFO] [stderr] Checking pest_consume v1.1.1 [INFO] [stderr] Checking oxido-lang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/compiler.rs:386:17 [INFO] [stdout] | [INFO] [stdout] 383 | let instruction = match operator { [INFO] [stdout] | ___________________________________- [INFO] [stdout] 384 | | VariadicOperator::Println => unimplemented!(), [INFO] [stdout] 385 | | }; [INFO] [stdout] | |_________________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 386 | / let bytecode = operands [INFO] [stdout] 387 | | .iter() [INFO] [stdout] 388 | | .map(|expr| expr.compile(drop_at, index_table)) [INFO] [stdout] 389 | | .fold(Ok(vec![]), accumulate_bytecode)?; [INFO] [stdout] | |____________________________________________________________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/compiler.rs:386:17 [INFO] [stdout] | [INFO] [stdout] 383 | let instruction = match operator { [INFO] [stdout] | ___________________________________- [INFO] [stdout] 384 | | VariadicOperator::Println => unimplemented!(), [INFO] [stdout] 385 | | }; [INFO] [stdout] | |_________________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 386 | / let bytecode = operands [INFO] [stdout] 387 | | .iter() [INFO] [stdout] 388 | | .map(|expr| expr.compile(drop_at, index_table)) [INFO] [stdout] 389 | | .fold(Ok(vec![]), accumulate_bytecode)?; [INFO] [stdout] | |____________________________________________________________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut d_f_table : HashMap<&'static str, FunctionStore> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut scope : LinkedList = LinkedList::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut v_table : HashMap<&'static str, VariableProperties> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut exp_lt : ExpiredLifetimes = ExpiredLifetimes::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/static_checker.rs:43:19 [INFO] [stdout] | [INFO] [stdout] 43 | for (fn_name, value) in env.declared_functions_table.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/static_checker.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | for (var_name, value) in env.variables_table.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/static_checker.rs:57:28 [INFO] [stdout] | [INFO] [stdout] 57 | Some(vars) => {let o = vars.push(String::from(var_name)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/static_checker.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | None => {let o = env.expired_lifetimes.insert(line_no, vec![String::from(var_name)]); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/static_checker.rs:64:26 [INFO] [stdout] | [INFO] [stdout] 64 | fn update_scope_with_use(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_name` [INFO] [stdout] --> src/static_checker.rs:64:50 [INFO] [stdout] | [INFO] [stdout] 64 | fn update_scope_with_use(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/static_checker.rs:68:27 [INFO] [stdout] | [INFO] [stdout] 68 | fn update_scope_with_drop(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_name` [INFO] [stdout] --> src/static_checker.rs:68:51 [INFO] [stdout] | [INFO] [stdout] 68 | fn update_scope_with_drop(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_of_variable` [INFO] [stdout] --> src/static_checker.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | let type_of_variable = type_expression(non_optional_value(let_statement_value(stmt)), env); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_of_variable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mutability` [INFO] [stdout] --> src/static_checker.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | let mutability = is_mutable_let_statement(stmt); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutability` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_name` [INFO] [stdout] --> src/static_checker.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | let function_name = function_declaration_name(stmt); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/static_checker.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | let params = function_declaration_parameters(stmt); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/static_checker.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | let return_type = function_declaration_return_type(stmt); // Unit if returns nothing. [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hs` [INFO] [stdout] --> src/static_checker.rs:136:18 [INFO] [stdout] | [INFO] [stdout] 136 | let (dt, hs) = type_and_handle_sequence(&mut seq_copy, env); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_hs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> src/static_checker.rs:140:42 [INFO] [stdout] | [INFO] [stdout] 140 | Expr::PrimitiveOperationExpr(op, position) => DataType::Unit, // TODO //op.typecheck(env), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/static_checker.rs:140:46 [INFO] [stdout] | [INFO] [stdout] 140 | Expr::PrimitiveOperationExpr(op, position) => DataType::Unit, // TODO //op.typecheck(env), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:268:30 [INFO] [stdout] | [INFO] [stdout] 268 | let curr_stmt_type = type_expression(expr, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:272:29 [INFO] [stdout] | [INFO] [stdout] 272 | let curr_stmt_type = type_statement(stmt, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:287:31 [INFO] [stdout] | [INFO] [stdout] 287 | _ => {let curr_stmt_type = type_statement(stmt, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `datatype` [INFO] [stdout] --> src/static_checker.rs:292:22 [INFO] [stdout] | [INFO] [stdout] 292 | let (datatype, has_return) = type_and_handle_sequence(&mut mut_seq, env); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datatype` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lastIdx` [INFO] [stdout] --> src/static_checker.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let lastIdx = sequence.len() - 1; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lastIdx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut d_f_table : HashMap<&'static str, FunctionStore> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut scope : LinkedList = LinkedList::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut v_table : HashMap<&'static str, VariableProperties> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut exp_lt : ExpiredLifetimes = ExpiredLifetimes::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/static_checker.rs:43:19 [INFO] [stdout] | [INFO] [stdout] 43 | for (fn_name, value) in env.declared_functions_table.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/static_checker.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | for (var_name, value) in env.variables_table.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/static_checker.rs:57:28 [INFO] [stdout] | [INFO] [stdout] 57 | Some(vars) => {let o = vars.push(String::from(var_name)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/static_checker.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | None => {let o = env.expired_lifetimes.insert(line_no, vec![String::from(var_name)]); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/static_checker.rs:64:26 [INFO] [stdout] | [INFO] [stdout] 64 | fn update_scope_with_use(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_name` [INFO] [stdout] --> src/static_checker.rs:64:50 [INFO] [stdout] | [INFO] [stdout] 64 | fn update_scope_with_use(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/static_checker.rs:68:27 [INFO] [stdout] | [INFO] [stdout] 68 | fn update_scope_with_drop(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_name` [INFO] [stdout] --> src/static_checker.rs:68:51 [INFO] [stdout] | [INFO] [stdout] 68 | fn update_scope_with_drop(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_of_variable` [INFO] [stdout] --> src/static_checker.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | let type_of_variable = type_expression(non_optional_value(let_statement_value(stmt)), env); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_of_variable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mutability` [INFO] [stdout] --> src/static_checker.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | let mutability = is_mutable_let_statement(stmt); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutability` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_name` [INFO] [stdout] --> src/static_checker.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | let function_name = function_declaration_name(stmt); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/static_checker.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | let params = function_declaration_parameters(stmt); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/static_checker.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | let return_type = function_declaration_return_type(stmt); // Unit if returns nothing. [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hs` [INFO] [stdout] --> src/static_checker.rs:136:18 [INFO] [stdout] | [INFO] [stdout] 136 | let (dt, hs) = type_and_handle_sequence(&mut seq_copy, env); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_hs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> src/static_checker.rs:140:42 [INFO] [stdout] | [INFO] [stdout] 140 | Expr::PrimitiveOperationExpr(op, position) => DataType::Unit, // TODO //op.typecheck(env), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/static_checker.rs:140:46 [INFO] [stdout] | [INFO] [stdout] 140 | Expr::PrimitiveOperationExpr(op, position) => DataType::Unit, // TODO //op.typecheck(env), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/static_checker.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 505 | Block{statements} [INFO] [stdout] | ----------------- matches any value [INFO] [stdout] 506 | => return statements, [INFO] [stdout] 507 | _ => panic!("Block expression is not present at call to sequence. {:#?}", block), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:268:30 [INFO] [stdout] | [INFO] [stdout] 268 | let curr_stmt_type = type_expression(expr, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:272:29 [INFO] [stdout] | [INFO] [stdout] 272 | let curr_stmt_type = type_statement(stmt, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:287:31 [INFO] [stdout] | [INFO] [stdout] 287 | _ => {let curr_stmt_type = type_statement(stmt, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `datatype` [INFO] [stdout] --> src/static_checker.rs:292:22 [INFO] [stdout] | [INFO] [stdout] 292 | let (datatype, has_return) = type_and_handle_sequence(&mut mut_seq, env); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datatype` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lastIdx` [INFO] [stdout] --> src/static_checker.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let lastIdx = sequence.len() - 1; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lastIdx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/compiler.rs:95:36 [INFO] [stdout] | [INFO] [stdout] 95 | Expr::IdentifierExpr(name, position) => Ok(name.clone()), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/static_checker.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 505 | Block{statements} [INFO] [stdout] | ----------------- matches any value [INFO] [stdout] 506 | => return statements, [INFO] [stdout] 507 | _ => panic!("Block expression is not present at call to sequence. {:#?}", block), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operands` [INFO] [stdout] --> src/compiler.rs:382:63 [INFO] [stdout] | [INFO] [stdout] 382 | PrimitiveOperation::VariadicOperation { operator, operands } => { [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `operands: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/compiler.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 383 | let instruction = match operator { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `drop_at` [INFO] [stdout] --> src/compiler.rs:398:23 [INFO] [stdout] | [INFO] [stdout] 398 | fn compile(&self, drop_at: &ExpiredLifetimes, index_table: &mut IndexTable) -> CompileResult { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_drop_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index_table` [INFO] [stdout] --> src/compiler.rs:398:51 [INFO] [stdout] | [INFO] [stdout] 398 | fn compile(&self, drop_at: &ExpiredLifetimes, index_table: &mut IndexTable) -> CompileResult { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/compiler.rs:95:36 [INFO] [stdout] | [INFO] [stdout] 95 | Expr::IdentifierExpr(name, position) => Ok(name.clone()), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message` and `position` are never read [INFO] [stdout] --> src/compiler/error.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Error { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 8 | pub message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub position: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastIdx` should have a snake case name [INFO] [stdout] --> src/static_checker.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let lastIdx = sequence.len() - 1; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `last_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operands` [INFO] [stdout] --> src/compiler.rs:382:63 [INFO] [stdout] | [INFO] [stdout] 382 | PrimitiveOperation::VariadicOperation { operator, operands } => { [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `operands: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/compiler.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 383 | let instruction = match operator { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `drop_at` [INFO] [stdout] --> src/compiler.rs:398:23 [INFO] [stdout] | [INFO] [stdout] 398 | fn compile(&self, drop_at: &ExpiredLifetimes, index_table: &mut IndexTable) -> CompileResult { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_drop_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index_table` [INFO] [stdout] --> src/compiler.rs:398:51 [INFO] [stdout] | [INFO] [stdout] 398 | fn compile(&self, drop_at: &ExpiredLifetimes, index_table: &mut IndexTable) -> CompileResult { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message` and `position` are never read [INFO] [stdout] --> src/compiler/error.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Error { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 8 | pub message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub position: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastIdx` should have a snake case name [INFO] [stdout] --> src/static_checker.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let lastIdx = sequence.len() - 1; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `last_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.58s [INFO] running `Command { std: "docker" "inspect" "0e38348a528f0a70e4929bc92fe3ac96ef86e8d1e6069c2b1b31415d4e6dc0d5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0e38348a528f0a70e4929bc92fe3ac96ef86e8d1e6069c2b1b31415d4e6dc0d5", kill_on_drop: false }` [INFO] [stdout] 0e38348a528f0a70e4929bc92fe3ac96ef86e8d1e6069c2b1b31415d4e6dc0d5 [INFO] checking nowknowing/rust-groupproj-personal against try#f9935d29d867449445ee008640ccca1bf1ae0889+rustflags=-Dtail_expr_drop_order for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnowknowing%2Frust-groupproj-personal" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/nowknowing/rust-groupproj-personal on toolchain f9935d29d867449445ee008640ccca1bf1ae0889 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/nowknowing/rust-groupproj-personal [INFO] finished tweaking git repo https://github.com/nowknowing/rust-groupproj-personal [INFO] tweaked toml for git repo https://github.com/nowknowing/rust-groupproj-personal written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/nowknowing/rust-groupproj-personal 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" "+f9935d29d867449445ee008640ccca1bf1ae0889" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 851050efcaeed55cfbf4f373090796a11c7fc532e12c6d45c76d3b584cba6b7e [INFO] running `Command { std: "docker" "start" "-a" "851050efcaeed55cfbf4f373090796a11c7fc532e12c6d45c76d3b584cba6b7e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "851050efcaeed55cfbf4f373090796a11c7fc532e12c6d45c76d3b584cba6b7e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "851050efcaeed55cfbf4f373090796a11c7fc532e12c6d45c76d3b584cba6b7e", kill_on_drop: false }` [INFO] [stdout] 851050efcaeed55cfbf4f373090796a11c7fc532e12c6d45c76d3b584cba6b7e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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 -Dtail_expr_drop_order" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+f9935d29d867449445ee008640ccca1bf1ae0889" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5917ffbbb91fb216017b20c7ce8b0ae094947e470311a721dfcd84a71c7cf1dc [INFO] running `Command { std: "docker" "start" "-a" "5917ffbbb91fb216017b20c7ce8b0ae094947e470311a721dfcd84a71c7cf1dc", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling syn v1.0.87 [INFO] [stderr] Compiling ucd-trie v0.1.3 [INFO] [stderr] Compiling maplit v1.0.2 [INFO] [stderr] Checking pest v2.1.3 [INFO] [stderr] Compiling quote v1.0.15 [INFO] [stderr] Compiling pest_meta v2.1.3 [INFO] [stderr] Compiling pest_generator v2.1.3 [INFO] [stderr] Compiling pest_consume_macros v1.1.0 [INFO] [stderr] Compiling pest_derive v2.1.0 [INFO] [stderr] Checking pest_consume v1.1.1 [INFO] [stderr] Checking oxido-lang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/compiler.rs:386:17 [INFO] [stdout] | [INFO] [stdout] 383 | let instruction = match operator { [INFO] [stdout] | ___________________________________- [INFO] [stdout] 384 | | VariadicOperator::Println => unimplemented!(), [INFO] [stdout] 385 | | }; [INFO] [stdout] | |_________________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 386 | / let bytecode = operands [INFO] [stdout] 387 | | .iter() [INFO] [stdout] 388 | | .map(|expr| expr.compile(drop_at, index_table)) [INFO] [stdout] 389 | | .fold(Ok(vec![]), accumulate_bytecode)?; [INFO] [stdout] | |____________________________________________________________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/compiler.rs:386:17 [INFO] [stdout] | [INFO] [stdout] 383 | let instruction = match operator { [INFO] [stdout] | ___________________________________- [INFO] [stdout] 384 | | VariadicOperator::Println => unimplemented!(), [INFO] [stdout] 385 | | }; [INFO] [stdout] | |_________________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 386 | / let bytecode = operands [INFO] [stdout] 387 | | .iter() [INFO] [stdout] 388 | | .map(|expr| expr.compile(drop_at, index_table)) [INFO] [stdout] 389 | | .fold(Ok(vec![]), accumulate_bytecode)?; [INFO] [stdout] | |____________________________________________________________^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut d_f_table : HashMap<&'static str, FunctionStore> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut scope : LinkedList = LinkedList::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut v_table : HashMap<&'static str, VariableProperties> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut exp_lt : ExpiredLifetimes = ExpiredLifetimes::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/static_checker.rs:43:19 [INFO] [stdout] | [INFO] [stdout] 43 | for (fn_name, value) in env.declared_functions_table.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/static_checker.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | for (var_name, value) in env.variables_table.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/static_checker.rs:57:28 [INFO] [stdout] | [INFO] [stdout] 57 | Some(vars) => {let o = vars.push(String::from(var_name)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/static_checker.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | None => {let o = env.expired_lifetimes.insert(line_no, vec![String::from(var_name)]); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/static_checker.rs:64:26 [INFO] [stdout] | [INFO] [stdout] 64 | fn update_scope_with_use(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_name` [INFO] [stdout] --> src/static_checker.rs:64:50 [INFO] [stdout] | [INFO] [stdout] 64 | fn update_scope_with_use(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/static_checker.rs:68:27 [INFO] [stdout] | [INFO] [stdout] 68 | fn update_scope_with_drop(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_name` [INFO] [stdout] --> src/static_checker.rs:68:51 [INFO] [stdout] | [INFO] [stdout] 68 | fn update_scope_with_drop(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_of_variable` [INFO] [stdout] --> src/static_checker.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | let type_of_variable = type_expression(non_optional_value(let_statement_value(stmt)), env); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_of_variable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mutability` [INFO] [stdout] --> src/static_checker.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | let mutability = is_mutable_let_statement(stmt); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutability` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_name` [INFO] [stdout] --> src/static_checker.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | let function_name = function_declaration_name(stmt); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/static_checker.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | let params = function_declaration_parameters(stmt); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/static_checker.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | let return_type = function_declaration_return_type(stmt); // Unit if returns nothing. [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | let mut d_f_table : HashMap<&'static str, FunctionStore> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hs` [INFO] [stdout] --> src/static_checker.rs:136:18 [INFO] [stdout] | [INFO] [stdout] 136 | let (dt, hs) = type_and_handle_sequence(&mut seq_copy, env); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_hs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | let mut scope : LinkedList = LinkedList::new(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> src/static_checker.rs:140:42 [INFO] [stdout] | [INFO] [stdout] 140 | Expr::PrimitiveOperationExpr(op, position) => DataType::Unit, // TODO //op.typecheck(env), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | let mut v_table : HashMap<&'static str, VariableProperties> = HashMap::new(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/static_checker.rs:140:46 [INFO] [stdout] | [INFO] [stdout] 140 | Expr::PrimitiveOperationExpr(op, position) => DataType::Unit, // TODO //op.typecheck(env), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/static_checker.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let mut exp_lt : ExpiredLifetimes = ExpiredLifetimes::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/static_checker.rs:43:19 [INFO] [stdout] | [INFO] [stdout] 43 | for (fn_name, value) in env.declared_functions_table.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/static_checker.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | for (var_name, value) in env.variables_table.iter() { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/static_checker.rs:57:28 [INFO] [stdout] | [INFO] [stdout] 57 | Some(vars) => {let o = vars.push(String::from(var_name)); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:268:30 [INFO] [stdout] | [INFO] [stdout] 268 | let curr_stmt_type = type_expression(expr, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `o` [INFO] [stdout] --> src/static_checker.rs:59:22 [INFO] [stdout] | [INFO] [stdout] 59 | None => {let o = env.expired_lifetimes.insert(line_no, vec![String::from(var_name)]); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_o` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:272:29 [INFO] [stdout] | [INFO] [stdout] 272 | let curr_stmt_type = type_statement(stmt, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:287:31 [INFO] [stdout] | [INFO] [stdout] 287 | _ => {let curr_stmt_type = type_statement(stmt, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `datatype` [INFO] [stdout] --> src/static_checker.rs:292:22 [INFO] [stdout] | [INFO] [stdout] 292 | let (datatype, has_return) = type_and_handle_sequence(&mut mut_seq, env); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datatype` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/static_checker.rs:64:26 [INFO] [stdout] | [INFO] [stdout] 64 | fn update_scope_with_use(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_name` [INFO] [stdout] --> src/static_checker.rs:64:50 [INFO] [stdout] | [INFO] [stdout] 64 | fn update_scope_with_use(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `env` [INFO] [stdout] --> src/static_checker.rs:68:27 [INFO] [stdout] | [INFO] [stdout] 68 | fn update_scope_with_drop(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_env` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `var_name` [INFO] [stdout] --> src/static_checker.rs:68:51 [INFO] [stdout] | [INFO] [stdout] 68 | fn update_scope_with_drop(env : &mut Environment, var_name : &str) { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_of_variable` [INFO] [stdout] --> src/static_checker.rs:92:13 [INFO] [stdout] | [INFO] [stdout] 92 | let type_of_variable = type_expression(non_optional_value(let_statement_value(stmt)), env); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_of_variable` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `mutability` [INFO] [stdout] --> src/static_checker.rs:94:13 [INFO] [stdout] | [INFO] [stdout] 94 | let mutability = is_mutable_let_statement(stmt); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mutability` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `function_name` [INFO] [stdout] --> src/static_checker.rs:99:13 [INFO] [stdout] | [INFO] [stdout] 99 | let function_name = function_declaration_name(stmt); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `params` [INFO] [stdout] --> src/static_checker.rs:103:13 [INFO] [stdout] | [INFO] [stdout] 103 | let params = function_declaration_parameters(stmt); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_params` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/static_checker.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | let return_type = function_declaration_return_type(stmt); // Unit if returns nothing. [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lastIdx` [INFO] [stdout] --> src/static_checker.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let lastIdx = sequence.len() - 1; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lastIdx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `hs` [INFO] [stdout] --> src/static_checker.rs:136:18 [INFO] [stdout] | [INFO] [stdout] 136 | let (dt, hs) = type_and_handle_sequence(&mut seq_copy, env); [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_hs` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `op` [INFO] [stdout] --> src/static_checker.rs:140:42 [INFO] [stdout] | [INFO] [stdout] 140 | Expr::PrimitiveOperationExpr(op, position) => DataType::Unit, // TODO //op.typecheck(env), [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_op` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/static_checker.rs:140:46 [INFO] [stdout] | [INFO] [stdout] 140 | Expr::PrimitiveOperationExpr(op, position) => DataType::Unit, // TODO //op.typecheck(env), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:268:30 [INFO] [stdout] | [INFO] [stdout] 268 | let curr_stmt_type = type_expression(expr, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:272:29 [INFO] [stdout] | [INFO] [stdout] 272 | let curr_stmt_type = type_statement(stmt, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `curr_stmt_type` [INFO] [stdout] --> src/static_checker.rs:287:31 [INFO] [stdout] | [INFO] [stdout] 287 | _ => {let curr_stmt_type = type_statement(stmt, env); [INFO] [stdout] | ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_curr_stmt_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `datatype` [INFO] [stdout] --> src/static_checker.rs:292:22 [INFO] [stdout] | [INFO] [stdout] 292 | let (datatype, has_return) = type_and_handle_sequence(&mut mut_seq, env); [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datatype` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `lastIdx` [INFO] [stdout] --> src/static_checker.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let lastIdx = sequence.len() - 1; [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_lastIdx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/static_checker.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 505 | Block{statements} [INFO] [stdout] | ----------------- matches any value [INFO] [stdout] 506 | => return statements, [INFO] [stdout] 507 | _ => panic!("Block expression is not present at call to sequence. {:#?}", block), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/static_checker.rs:507:13 [INFO] [stdout] | [INFO] [stdout] 505 | Block{statements} [INFO] [stdout] | ----------------- matches any value [INFO] [stdout] 506 | => return statements, [INFO] [stdout] 507 | _ => panic!("Block expression is not present at call to sequence. {:#?}", block), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/compiler.rs:95:36 [INFO] [stdout] | [INFO] [stdout] 95 | Expr::IdentifierExpr(name, position) => Ok(name.clone()), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `position` [INFO] [stdout] --> src/compiler.rs:95:36 [INFO] [stdout] | [INFO] [stdout] 95 | Expr::IdentifierExpr(name, position) => Ok(name.clone()), [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_position` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operands` [INFO] [stdout] --> src/compiler.rs:382:63 [INFO] [stdout] | [INFO] [stdout] 382 | PrimitiveOperation::VariadicOperation { operator, operands } => { [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `operands: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/compiler.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 383 | let instruction = match operator { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `drop_at` [INFO] [stdout] --> src/compiler.rs:398:23 [INFO] [stdout] | [INFO] [stdout] 398 | fn compile(&self, drop_at: &ExpiredLifetimes, index_table: &mut IndexTable) -> CompileResult { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_drop_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index_table` [INFO] [stdout] --> src/compiler.rs:398:51 [INFO] [stdout] | [INFO] [stdout] 398 | fn compile(&self, drop_at: &ExpiredLifetimes, index_table: &mut IndexTable) -> CompileResult { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `operands` [INFO] [stdout] --> src/compiler.rs:382:63 [INFO] [stdout] | [INFO] [stdout] 382 | PrimitiveOperation::VariadicOperation { operator, operands } => { [INFO] [stdout] | ^^^^^^^^ help: try ignoring the field: `operands: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `instruction` [INFO] [stdout] --> src/compiler.rs:383:21 [INFO] [stdout] | [INFO] [stdout] 383 | let instruction = match operator { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `drop_at` [INFO] [stdout] --> src/compiler.rs:398:23 [INFO] [stdout] | [INFO] [stdout] 398 | fn compile(&self, drop_at: &ExpiredLifetimes, index_table: &mut IndexTable) -> CompileResult { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_drop_at` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `index_table` [INFO] [stdout] --> src/compiler.rs:398:51 [INFO] [stdout] | [INFO] [stdout] 398 | fn compile(&self, drop_at: &ExpiredLifetimes, index_table: &mut IndexTable) -> CompileResult { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message` and `position` are never read [INFO] [stdout] --> src/compiler/error.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Error { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 8 | pub message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub position: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 280 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 281 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 282 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 283 | | operator, [INFO] [stdout] 284 | | first_operand, [INFO] [stdout] 285 | | second_operand, [INFO] [stdout] 286 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:333:17 [INFO] [stdout] | [INFO] [stdout] 331 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 332 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 333 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 334 | | operator, [INFO] [stdout] 335 | | first_operand, [INFO] [stdout] 336 | | second_operand, [INFO] [stdout] 337 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 382 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 383 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 384 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 385 | | operator, [INFO] [stdout] 386 | | first_operand, [INFO] [stdout] 387 | | second_operand, [INFO] [stdout] 388 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:452:17 [INFO] [stdout] | [INFO] [stdout] 450 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 451 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 452 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 453 | | operator, [INFO] [stdout] 454 | | first_operand, [INFO] [stdout] 455 | | second_operand, [INFO] [stdout] 456 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:522:17 [INFO] [stdout] | [INFO] [stdout] 520 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 521 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 522 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 523 | | operator, [INFO] [stdout] 524 | | first_operand, [INFO] [stdout] 525 | | second_operand, [INFO] [stdout] 526 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:590:17 [INFO] [stdout] | [INFO] [stdout] 588 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 589 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 590 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 591 | | operator, [INFO] [stdout] 592 | | first_operand, [INFO] [stdout] 593 | | second_operand, [INFO] [stdout] 594 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:657:13 [INFO] [stdout] | [INFO] [stdout] 656 | let create_unary_expr = |operator, operand, line, col| Expr::PrimitiveOperationExpr( [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 657 | / Box::from(PrimitiveOperation::UnaryOperation { [INFO] [stdout] 658 | | operator, [INFO] [stdout] 659 | | operand, [INFO] [stdout] 660 | | }), [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:713:20 [INFO] [stdout] | [INFO] [stdout] 711 | |input: Node, name, lifetime_parameters, parameters, return_type: Option, block_expr| { [INFO] [stdout] | ---- ---------- ----------------------------- ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | | [INFO] [stdout] | | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 712 | let block = process_block_expr(block_expr).map_err(|e| input.error(e))?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 713 | Ok(Stmt::FuncDeclaration { [INFO] [stdout] | ____________________^ [INFO] [stdout] 714 | | name, [INFO] [stdout] 715 | | lifetime_parameters, [INFO] [stdout] 716 | | parameters, [INFO] [stdout] ... | [INFO] [stdout] 719 | | position, [INFO] [stdout] 720 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `message` and `position` are never read [INFO] [stdout] --> src/compiler/error.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Error { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 8 | pub message: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 9 | pub position: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastIdx` should have a snake case name [INFO] [stdout] --> src/static_checker.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let lastIdx = sequence.len() - 1; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `last_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 280 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 281 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 282 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 283 | | operator, [INFO] [stdout] 284 | | first_operand, [INFO] [stdout] 285 | | second_operand, [INFO] [stdout] 286 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:333:17 [INFO] [stdout] | [INFO] [stdout] 331 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 332 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 333 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 334 | | operator, [INFO] [stdout] 335 | | first_operand, [INFO] [stdout] 336 | | second_operand, [INFO] [stdout] 337 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:384:17 [INFO] [stdout] | [INFO] [stdout] 382 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 383 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 384 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 385 | | operator, [INFO] [stdout] 386 | | first_operand, [INFO] [stdout] 387 | | second_operand, [INFO] [stdout] 388 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:452:17 [INFO] [stdout] | [INFO] [stdout] 450 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 451 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 452 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 453 | | operator, [INFO] [stdout] 454 | | first_operand, [INFO] [stdout] 455 | | second_operand, [INFO] [stdout] 456 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:522:17 [INFO] [stdout] | [INFO] [stdout] 520 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 521 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 522 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 523 | | operator, [INFO] [stdout] 524 | | first_operand, [INFO] [stdout] 525 | | second_operand, [INFO] [stdout] 526 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:590:17 [INFO] [stdout] | [INFO] [stdout] 588 | let create_binary_expr = |operator, first_operand, second_operand, src_location| [INFO] [stdout] | ------------- -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 589 | Expr::PrimitiveOperationExpr( [INFO] [stdout] 590 | / Box::from(PrimitiveOperation::BinaryOperation { [INFO] [stdout] 591 | | operator, [INFO] [stdout] 592 | | first_operand, [INFO] [stdout] 593 | | second_operand, [INFO] [stdout] 594 | | }), [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:657:13 [INFO] [stdout] | [INFO] [stdout] 656 | let create_unary_expr = |operator, operand, line, col| Expr::PrimitiveOperationExpr( [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 657 | / Box::from(PrimitiveOperation::UnaryOperation { [INFO] [stdout] 658 | | operator, [INFO] [stdout] 659 | | operand, [INFO] [stdout] 660 | | }), [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:713:20 [INFO] [stdout] | [INFO] [stdout] 711 | |input: Node, name, lifetime_parameters, parameters, return_type: Option, block_expr| { [INFO] [stdout] | ---- ---------- ----------------------------- ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | | [INFO] [stdout] | | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 712 | let block = process_block_expr(block_expr).map_err(|e| input.error(e))?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 713 | Ok(Stmt::FuncDeclaration { [INFO] [stdout] | ____________________^ [INFO] [stdout] 714 | | name, [INFO] [stdout] 715 | | lifetime_parameters, [INFO] [stdout] 716 | | parameters, [INFO] [stdout] ... | [INFO] [stdout] 719 | | position, [INFO] [stdout] 720 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________________| [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `lastIdx` should have a snake case name [INFO] [stdout] --> src/static_checker.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let lastIdx = sequence.len() - 1; [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `last_idx` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors; 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors; 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `oxido-lang` (bin "oxido-lang") due to 9 previous errors; 34 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `oxido-lang` (bin "oxido-lang" test) due to 9 previous errors; 34 warnings emitted [INFO] running `Command { std: "docker" "inspect" "5917ffbbb91fb216017b20c7ce8b0ae094947e470311a721dfcd84a71c7cf1dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5917ffbbb91fb216017b20c7ce8b0ae094947e470311a721dfcd84a71c7cf1dc", kill_on_drop: false }` [INFO] [stdout] 5917ffbbb91fb216017b20c7ce8b0ae094947e470311a721dfcd84a71c7cf1dc