[INFO] cloning repository https://github.com/MiliJhM/PKUCompilerC
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/MiliJhM/PKUCompilerC" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMiliJhM%2FPKUCompilerC", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMiliJhM%2FPKUCompilerC'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7e08ee20ea1a7f106a50eab5319066d5b457afec
[INFO] checking MiliJhM/PKUCompilerC against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMiliJhM%2FPKUCompilerC" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/MiliJhM/PKUCompilerC
[INFO] finished tweaking git repo https://github.com/MiliJhM/PKUCompilerC
[INFO] tweaked toml for git repo https://github.com/MiliJhM/PKUCompilerC written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/MiliJhM/PKUCompilerC on toolchain b1f2594eac607c1f051534800237eeedb5590a49
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/MiliJhM/PKUCompilerC 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" "+b1f2594eac607c1f051534800237eeedb5590a49" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 89a19217f9af96a22046982ff31511113150300c60740894086f59e4a6cc33c5
[INFO] running `Command { std: "docker" "start" "-a" "89a19217f9af96a22046982ff31511113150300c60740894086f59e4a6cc33c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "89a19217f9af96a22046982ff31511113150300c60740894086f59e4a6cc33c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "89a19217f9af96a22046982ff31511113150300c60740894086f59e4a6cc33c5", kill_on_drop: false }`
[INFO] [stdout] 89a19217f9af96a22046982ff31511113150300c60740894086f59e4a6cc33c5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 595e2014506b58d10aea35b1cf22a86eb56f0c05281b654d207e712d47a25e7d
[INFO] running `Command { std: "docker" "start" "-a" "595e2014506b58d10aea35b1cf22a86eb56f0c05281b654d207e712d47a25e7d", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.147
[INFO] [stderr]    Compiling rustix v0.38.13
[INFO] [stderr]    Compiling smallvec v1.11.0
[INFO] [stderr]    Compiling regex-syntax v0.7.5
[INFO] [stderr]    Compiling linux-raw-sys v0.4.7
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling bitflags v2.4.0
[INFO] [stderr]    Compiling hashbrown v0.14.0
[INFO] [stderr]    Compiling either v1.9.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.8
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]     Checking memchr v2.6.3
[INFO] [stderr]    Compiling lock_api v0.4.10
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling log v0.4.20
[INFO] [stderr]    Compiling ena v0.14.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling pico-args v0.5.0
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]     Checking key-node-list v0.0.5
[INFO] [stderr]     Checking aho-corasick v1.0.5
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling indexmap v2.0.0
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]    Compiling string_cache v0.8.7
[INFO] [stderr]    Compiling is-terminal v0.4.9
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]     Checking colored v2.0.4
[INFO] [stderr]    Compiling petgraph v0.6.4
[INFO] [stderr]     Checking koopa v0.0.7
[INFO] [stderr]    Compiling regex-automata v0.3.8
[INFO] [stderr]    Compiling regex v1.9.5
[INFO] [stderr]    Compiling lalrpop-util v0.20.0
[INFO] [stderr]    Compiling lalrpop v0.20.0
[INFO] [stderr]    Compiling compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `fmt` and `io`
[INFO] [stdout]  --> src/main.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fmt, io};
[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: `crate::ast::ast_def::*`
[INFO] [stdout]  --> src/koopa_generator/namespace.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ast::ast_def::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/koopa_generator/namespace.rs:2:76
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{CResult, CompileError, function_interface::{FunctionInterface, self}};
[INFO] [stdout]   |                                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> src/koopa_generator/namespace.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{collections::HashMap, hash::Hash};
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/koopa_generator/generator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/koopa_generator/generator.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::function_interface`
[INFO] [stdout]  --> src/koopa_generator/generator.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::function_interface;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `koopa::ir`
[INFO] [stdout]   --> src/koopa_generator/generator.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use koopa::ir;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `koopa::ir::values::FuncArgRef`
[INFO] [stdout]   --> src/koopa_generator/generator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use koopa::ir::values::FuncArgRef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `koopa::ir::values::GetElemPtr`
[INFO] [stdout]   --> src/koopa_generator/generator.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use koopa::ir::values::GetElemPtr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/koopa_generator/generator.rs:884:19
[INFO] [stdout]     |
[INFO] [stdout] 884 |                 if(!self.inds.is_empty()){
[INFO] [stdout]     |                   ^                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 884 -                 if(!self.inds.is_empty()){
[INFO] [stdout] 884 +                 if !self.inds.is_empty() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Type`
[INFO] [stdout]  --> src/koopa_generator/mod.rs:9:26
[INFO] [stdout]   |
[INFO] [stdout] 9 | use koopa::ir::{Program, Type};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/koopa_generator/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::reg_manager::*`
[INFO] [stdout]  --> src/risc_v_generator/code_generator.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::reg_manager::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/risc_v_generator/code_generator.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/risc_v_generator/reg_manager.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]  --> src/risc_v_generator/reg_manager.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::Cell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BasicBlock`, `Function`, `TypeKind`, and `ValueKind`
[INFO] [stdout]  --> src/risc_v_generator/reg_manager.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use koopa::ir::{Function, BasicBlock, TypeKind, ValueKind};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Type`
[INFO] [stdout]  --> src/risc_v_generator/mod.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use koopa::ir::{Program, Type};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fmt` and `io`
[INFO] [stdout]  --> src/main.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fmt, io};
[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: `crate::ast::ast_def::*`
[INFO] [stdout]  --> src/koopa_generator/namespace.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ast::ast_def::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/koopa_generator/namespace.rs:2:76
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{CResult, CompileError, function_interface::{FunctionInterface, self}};
[INFO] [stdout]   |                                                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `hash::Hash`
[INFO] [stdout]  --> src/koopa_generator/namespace.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{collections::HashMap, hash::Hash};
[INFO] [stdout]   |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/koopa_generator/generator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]  --> src/koopa_generator/generator.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::io::Write;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::function_interface`
[INFO] [stdout]  --> src/koopa_generator/generator.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use super::function_interface;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `koopa::ir`
[INFO] [stdout]   --> src/koopa_generator/generator.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use koopa::ir;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `koopa::ir::values::FuncArgRef`
[INFO] [stdout]   --> src/koopa_generator/generator.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use koopa::ir::values::FuncArgRef;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `koopa::ir::values::GetElemPtr`
[INFO] [stdout]   --> src/koopa_generator/generator.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use koopa::ir::values::GetElemPtr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/koopa_generator/generator.rs:884:19
[INFO] [stdout]     |
[INFO] [stdout] 884 |                 if(!self.inds.is_empty()){
[INFO] [stdout]     |                   ^                     ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 884 -                 if(!self.inds.is_empty()){
[INFO] [stdout] 884 +                 if !self.inds.is_empty() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Type`
[INFO] [stdout]  --> src/koopa_generator/mod.rs:9:26
[INFO] [stdout]   |
[INFO] [stdout] 9 | use koopa::ir::{Program, Type};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/koopa_generator/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::reg_manager::*`
[INFO] [stdout]  --> src/risc_v_generator/code_generator.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::reg_manager::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/risc_v_generator/code_generator.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/risc_v_generator/reg_manager.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::Cell`
[INFO] [stdout]  --> src/risc_v_generator/reg_manager.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cell::Cell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BasicBlock`, `Function`, `TypeKind`, and `ValueKind`
[INFO] [stdout]  --> src/risc_v_generator/reg_manager.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use koopa::ir::{Function, BasicBlock, TypeKind, ValueKind};
[INFO] [stdout]   |                 ^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Type`
[INFO] [stdout]  --> src/risc_v_generator/mod.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use koopa::ir::{Program, Type};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/koopa_generator/namespace.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut dim_len = shape.len();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/koopa_generator/namespace.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let mut init_needed = shape[0].1;
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `init_vals`
[INFO] [stdout]    --> src/koopa_generator/namespace.rs:193:36
[INFO] [stdout]     |
[INFO] [stdout] 193 |                         Self::List(init_vals) => {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_vals`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `init_vals`
[INFO] [stdout]    --> src/koopa_generator/namespace.rs:233:24
[INFO] [stdout]     |
[INFO] [stdout] 233 |             Self::List(init_vals) => {
[INFO] [stdout]     |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_vals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/koopa_generator/namespace.rs:308:21
[INFO] [stdout]     |
[INFO] [stdout] 308 |                 let mut func_interface = namespace.get_cur_func_interf()?;
[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/koopa_generator/namespace.rs:309:21
[INFO] [stdout]     |
[INFO] [stdout] 309 |                 let mut load_inst = func_interface.value_builder(program).load(ptr);
[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/koopa_generator/namespace.rs:321:21
[INFO] [stdout]     |
[INFO] [stdout] 321 |                 let mut func_interface = namespace.get_cur_func_interf()?;
[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/koopa_generator/namespace.rs:322:21
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 let mut load_inst = func_interface.value_builder(program).load(value);
[INFO] [stdout]     |                     ----^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/koopa_generator/generator.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     let value = func_interface.value_builder(program).store(value, alloc);
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/koopa_generator/generator.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     let value = func_interface.value_builder(program).store(value, alloc);
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/koopa_generator/generator.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let mut func_data: FunctionData = FunctionData::new("@".to_owned()+self.func_name.as_str(), args_type, ret_type);
[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/koopa_generator/generator.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut new_func = program.new_func(func_data);
[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/koopa_generator/generator.rs:369:13
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let mut func_interface = namespace.get_cur_func_interf_mut()?;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_block`
[INFO] [stdout]    --> src/koopa_generator/generator.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let end_block = func_interface.new_bblock(program, "%end");
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/koopa_generator/generator.rs:378:48
[INFO] [stdout]     |
[INFO] [stdout] 378 |     fn generate(&self, namespace: &mut Namesp, program: &mut Program) -> CResult<Self::Out> {
[INFO] [stdout]     |                                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/koopa_generator/generator.rs:591:48
[INFO] [stdout]     |
[INFO] [stdout] 591 |     fn generate(&self, namespace: &mut Namesp, program: &mut Program) -> CResult<Self::Out> {
[INFO] [stdout]     |                                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func_interface`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let func_interface = program.cur_func().unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:120:61
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn generate(&self, program: &mut ProgramManager<'prog>, f: &mut Writer<'file>) -> Result<Self::Out> {
[INFO] [stdout]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:128:61
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn generate(&self, program: &mut ProgramManager<'prog>, f: &mut Writer<'file>) -> Result<Self::Out> {
[INFO] [stdout]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:178:24
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn generate(&self, program: &mut ProgramManager<'prog>, f: &mut Writer<'file>) -> Result<Self::Out> {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:211:31
[INFO] [stdout]     |
[INFO] [stdout] 211 |             AsmValue::FuncArg(v) => val.arg_to_reg(f, "t0", spoff)?,
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:271:24
[INFO] [stdout]     |
[INFO] [stdout] 271 |     fn generate(&self, program: &mut ProgramManager<'prog>, f: &mut Writer<'file>, val: &ValueData) -> Result<Self::Out> {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `valname`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 |         let valname = val.name();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_valname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 let mut new_slot;
[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/koopa_generator/namespace.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut dim_len = shape.len();
[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: `is_ptr`
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:237:47
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub fn add_regslot(&mut self, reg:String, is_ptr:bool){
[INFO] [stdout]     |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_ptr`
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:241:51
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn add_stackslot(&mut self, offset:usize, is_ptr:bool){
[INFO] [stdout]     |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/koopa_generator/namespace.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let mut init_needed = shape[0].1;
[INFO] [stdout]     |             ----^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `init_vals`
[INFO] [stdout]    --> src/koopa_generator/namespace.rs:193:36
[INFO] [stdout]     |
[INFO] [stdout] 193 |                         Self::List(init_vals) => {
[INFO] [stdout]     |                                    ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_vals`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `init_vals`
[INFO] [stdout]    --> src/koopa_generator/namespace.rs:233:24
[INFO] [stdout]     |
[INFO] [stdout] 233 |             Self::List(init_vals) => {
[INFO] [stdout]     |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_init_vals`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/koopa_generator/namespace.rs:308:21
[INFO] [stdout]     |
[INFO] [stdout] 308 |                 let mut func_interface = namespace.get_cur_func_interf()?;
[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/koopa_generator/namespace.rs:309:21
[INFO] [stdout]     |
[INFO] [stdout] 309 |                 let mut load_inst = func_interface.value_builder(program).load(ptr);
[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/koopa_generator/namespace.rs:321:21
[INFO] [stdout]     |
[INFO] [stdout] 321 |                 let mut func_interface = namespace.get_cur_func_interf()?;
[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/koopa_generator/namespace.rs:322:21
[INFO] [stdout]     |
[INFO] [stdout] 322 |                 let mut load_inst = func_interface.value_builder(program).load(value);
[INFO] [stdout]     |                     ----^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/koopa_generator/generator.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 173 |                     let value = func_interface.value_builder(program).store(value, alloc);
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mode = match mode.as_str() {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/koopa_generator/generator.rs:259:25
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     let value = func_interface.value_builder(program).store(value, alloc);
[INFO] [stdout]     |                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/koopa_generator/generator.rs:324:13
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let mut func_data: FunctionData = FunctionData::new("@".to_owned()+self.func_name.as_str(), args_type, ret_type);
[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/koopa_generator/generator.rs:325:13
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let mut new_func = program.new_func(func_data);
[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/koopa_generator/generator.rs:369:13
[INFO] [stdout]     |
[INFO] [stdout] 369 |         let mut func_interface = namespace.get_cur_func_interf_mut()?;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `end_block`
[INFO] [stdout]    --> src/koopa_generator/generator.rs:340:13
[INFO] [stdout]     |
[INFO] [stdout] 340 |         let end_block = func_interface.new_bblock(program, "%end");
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/koopa_generator/generator.rs:378:48
[INFO] [stdout]     |
[INFO] [stdout] 378 |     fn generate(&self, namespace: &mut Namesp, program: &mut Program) -> CResult<Self::Out> {
[INFO] [stdout]     |                                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 |     InvalidReturn(String),
[INFO] [stdout]    |     ------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 21 -     InvalidReturn(String),
[INFO] [stdout] 21 +     InvalidReturn(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |     InvalidIdentifier(String),
[INFO] [stdout]    |     ----------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 22 -     InvalidIdentifier(String),
[INFO] [stdout] 22 +     InvalidIdentifier(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     InvalidType(String),
[INFO] [stdout]    |     ----------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 23 -     InvalidType(String),
[INFO] [stdout] 23 +     InvalidType(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |     InvalidInit(String),
[INFO] [stdout]    |     ----------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 24 -     InvalidInit(String),
[INFO] [stdout] 24 +     InvalidInit(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |     InvalidFunccall(String),
[INFO] [stdout]    |     --------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 25 -     InvalidFunccall(String),
[INFO] [stdout] 25 +     InvalidFunccall(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 |     DuplicateIdentifier(String),
[INFO] [stdout]    |     ------------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 26 -     DuplicateIdentifier(String),
[INFO] [stdout] 26 +     DuplicateIdentifier(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |     VarNotDeclared(String),
[INFO] [stdout]    |     -------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 27 -     VarNotDeclared(String),
[INFO] [stdout] 27 +     VarNotDeclared(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     FuncNotDeclared(String),
[INFO] [stdout]    |     --------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 28 -     FuncNotDeclared(String),
[INFO] [stdout] 28 +     FuncNotDeclared(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |     InvalidArrayDeref(String),
[INFO] [stdout]    |     ----------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 29 -     InvalidArrayDeref(String),
[INFO] [stdout] 29 +     InvalidArrayDeref(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_func`, `get_bblock_from_bb`, and `get_bblock_from_name` are never used
[INFO] [stdout]   --> src/koopa_generator/function_interface.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl FunctionInterface {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn get_func(&self) -> Function {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn get_bblock_from_bb<'a>(&self, program: &'a mut Program, bb: BasicBlock) -> &'a mut BasicBlockNode {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn get_bblock_from_name<'a>(&self, program: &'a mut Program, block_name: &str) -> &'a mut BasicBlockNode {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `functions`, `current_block`, and `current_function_name` are never read
[INFO] [stdout]   --> src/risc_v_generator/program_manager.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct ProgramManager<'prog> {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  8 |     program: &'prog Program,
[INFO] [stdout]  9 |     functions: HashMap<String, Function>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     current_block: Option<BasicBlock>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 14 |     current_function_name: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reg` is never read
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub struct ValueSlot{
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 203 |     pub reg: Option<RegSlot>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ValueSlot` 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: multiple associated items are never used
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | impl ValueSlot{
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 209 |     fn new() -> Self{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn new_regslot(reg:String, is_ptr:bool) -> Self{
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn add_regslot(&mut self, reg:String, is_ptr:bool){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn add_stackslot(&mut self, offset:usize, is_ptr:bool){
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn get_regslot(&self) -> Option<&RegSlot>{
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn get_regslot_mut(&mut self) -> Option<&mut RegSlot>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn get_stackslot_mut(&mut self) -> Option<&mut StackSlot>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reg` is never read
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub struct RegSlot{
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 292 |     pub reg: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RegSlot` 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: associated items `new` and `map` are never used
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | impl RegSlot{
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 296 |     fn new(reg:String) -> Self{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     fn map(self, f: impl FnOnce(String) -> String) -> Self{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `map` is never used
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:320:8
[INFO] [stdout]     |
[INFO] [stdout] 313 | impl StackSlot{
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 320 |     fn map(self, f: impl FnOnce(usize) -> usize) -> Self{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `beqz` is never used
[INFO] [stdout]   --> src/risc_v_generator/asm_generator.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'file> Writer<'file> {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn beqz(&mut self, cond: &str, label: &str) -> Result<()>  {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Register` is never constructed
[INFO] [stdout]  --> src/risc_v_generator/reg_manager.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Register {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `store`, `clear`, and `delete` are never used
[INFO] [stdout]   --> src/risc_v_generator/reg_manager.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Register {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(name: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn store(&mut self, value: *const ValueData) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn delete(&mut self, value: *const ValueData) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `GlobalvarOrFuncDef` should have a snake case name
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/compiler-3fd1648e8afc566d/out/ast/grammar.rs:6574:9
[INFO] [stdout]      |
[INFO] [stdout] 6574 |     (_, GlobalvarOrFuncDef, _): (usize, alloc::vec::Vec<DeclOrFunc>, usize),
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `globalvar_or_func_def`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FuncHead` should have a snake case name
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/compiler-3fd1648e8afc566d/out/ast/grammar.rs:6784:9
[INFO] [stdout]      |
[INFO] [stdout] 6784 |     (_, FuncHead, _): (usize, (FuncType, String), usize),
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `func_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FuncArgs` should have a snake case name
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/compiler-3fd1648e8afc566d/out/ast/grammar.rs:6785:9
[INFO] [stdout]      |
[INFO] [stdout] 6785 |     (_, FuncArgs, _): (usize, Vec<Param>, usize),
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `func_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FuncBody` should have a snake case name
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/compiler-3fd1648e8afc566d/out/ast/grammar.rs:6787:9
[INFO] [stdout]      |
[INFO] [stdout] 6787 |     (_, FuncBody, _): (usize, Block, usize),
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `func_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BlockItems` should have a snake case name
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/compiler-3fd1648e8afc566d/out/ast/grammar.rs:6878:9
[INFO] [stdout]      |
[INFO] [stdout] 6878 |     (_, BlockItems, _): (usize, alloc::vec::Vec<BlockItem>, usize),
[INFO] [stdout]      |         ^^^^^^^^^^ help: convert the identifier to snake case: `block_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/koopa_generator/generator.rs:591:48
[INFO] [stdout]     |
[INFO] [stdout] 591 |     fn generate(&self, namespace: &mut Namesp, program: &mut Program) -> CResult<Self::Out> {
[INFO] [stdout]     |                                                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/koopa_generator/generator.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |             namespace.new_func(name, new_func);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let _ = namespace.new_func(name, new_func);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/koopa_generator/generator.rs:184:21
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     namespace.new_value(&self.id, NamespValue::ConstInt(val), true);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     let _ = namespace.new_value(&self.id, NamespValue::ConstInt(val), true);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/koopa_generator/generator.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             namespace.new_value(&self.id, NamespValue::Var(value), true);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let _ = namespace.new_value(&self.id, NamespValue::Var(value), true);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/koopa_generator/generator.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |         namespace.new_value(&self.id, NamespValue::Var(value), false);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let _ = namespace.new_value(&self.id, NamespValue::Var(value), false);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/koopa_generator/function_interface.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         layout.bbs_mut().push_key_back(bb);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let _ = layout.bbs_mut().push_key_back(bb);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/koopa_generator/function_interface.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         layout.bb_mut(bb).insts_mut().push_key_back(inst);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = layout.bb_mut(bb).insts_mut().push_key_back(inst);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:67:28
[INFO] [stdout]     |
[INFO] [stdout]  67 |             self.func(func).clone().generate(program, f)?;
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `koopa::ir::FunctionData` does not implement `Clone`, so calling `clone` on `&koopa::ir::FunctionData` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]  67 -             self.func(func).clone().generate(program, f)?;
[INFO] [stdout]  67 +             self.func(func).generate(program, f)?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `koopa::ir::FunctionData`, implement `Clone` for it
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/koopa-0.0.7/src/ir/entities.rs:205:1
[INFO] [stdout]     |
[INFO] [stdout] 205 + #[derive(Clone)]
[INFO] [stdout] 206 | pub struct FunctionData {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/code_generator.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         f.func_entry(self.name(), func_interface);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let _ = f.func_entry(self.name(), func_interface);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         writeln!(f.file_mut());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let _ = writeln!(f.file_mut());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 |         writeln!(f.file_mut(), "    # Store");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let _ = writeln!(f.file_mut(), "    # Store");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |             f.sw("t0", "t1", 0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 219 |             let _ = f.sw("t0", "t1", 0);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |             dst.reload_value_from_reg(f, "t0", "t1");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 224 |             let _ = dst.reload_value_from_reg(f, "t0", "t1");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         self.cond().generate(program, f)?.normal_to_reg(f, "t0");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let _ = self.cond().generate(program, f)?.normal_to_reg(f, "t0");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         f.bnez("t0", &tto_name);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 239 |         let _ = f.bnez("t0", &tto_name);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         f.j(&fto_name);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let _ = f.j(&fto_name);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         f.j(&to_name);
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let _ = f.j(&to_name);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |             val.clone().generate(program, f)?.normal_to_reg(f, "a0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 261 |             let _ = val.clone().generate(program, f)?.normal_to_reg(f, "a0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |         f.func_end(program.cur_func().unwrap());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let _ = f.func_end(program.cur_func().unwrap());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 288 | /         match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout] 289 | |             Some(v) => AsmValue::LocalVar(v).reload_value_from_reg(f, "t0", "t1"),
[INFO] [stdout] 290 | |             None => AsmValue::Void.reload_value_from_reg(f, "t0", "t1")
[INFO] [stdout] 291 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let _ = match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |         writeln!(f.file_mut(), "    # Ptr");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let _ = writeln!(f.file_mut(), "    # Ptr");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |             src.normal_to_reg(f, "t0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |             let _ = src.normal_to_reg(f, "t0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |             src.load_addr_to_reg(f, "t0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let _ = src.load_addr_to_reg(f, "t0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         f.muli("t1", "t1", size as i32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let _ = f.muli("t1", "t1", size as i32);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         f.op2("add", "t0", "t0", "t1");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let _ = f.op2("add", "t0", "t0", "t1");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 | /         match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout] 319 | |             Some(v) => AsmValue::LocalVar(v).reload_value_from_reg(f, "t0", "t1"),
[INFO] [stdout] 320 | |             None => AsmValue::Void.reload_value_from_reg(f, "t0", "t1")
[INFO] [stdout] 321 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let _ = match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:331:9
[INFO] [stdout]     |
[INFO] [stdout] 331 |         writeln!(f.file_mut(), "    # Elemptr");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let _ = writeln!(f.file_mut(), "    # Elemptr");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:334:13
[INFO] [stdout]     |
[INFO] [stdout] 334 |             src.normal_to_reg(f, "t0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 334 |             let _ = src.normal_to_reg(f, "t0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:337:13
[INFO] [stdout]     |
[INFO] [stdout] 337 |             src.load_addr_to_reg(f, "t0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 337 |             let _ = src.load_addr_to_reg(f, "t0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:345:9
[INFO] [stdout]     |
[INFO] [stdout] 345 |         f.muli("t1", "t1", size as i32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 345 |         let _ = f.muli("t1", "t1", size as i32);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:346:9
[INFO] [stdout]     |
[INFO] [stdout] 346 |         f.op2("add", "t0", "t0", "t1");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 346 |         let _ = f.op2("add", "t0", "t0", "t1");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 | /         match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout] 350 | |             Some(v) => AsmValue::LocalVar(v).reload_value_from_reg(f, "t0", "t1"),
[INFO] [stdout] 351 | |             None => AsmValue::Void.reload_value_from_reg(f, "t0", "t1")
[INFO] [stdout] 352 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 349 |         let _ = match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 | /         match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout] 399 | |             Some(v) => AsmValue::LocalVar(v).reload_value_from_reg(f, "t0", "t1"),
[INFO] [stdout] 400 | |             None => AsmValue::Void.reload_value_from_reg(f, "t0", "t1")
[INFO] [stdout] 401 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let _ = match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:416:13
[INFO] [stdout]     |
[INFO] [stdout] 416 |             arg.normal_to_reg(f, "t0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 416 |             let _ = arg.normal_to_reg(f, "t0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |             AsmValue::FuncArg(i).reload_value_from_reg(f, "t0", "t1");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 417 |             let _ = AsmValue::FuncArg(i).reload_value_from_reg(f, "t0", "t1");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |         f.call(callee_name);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 421 |         let _ = f.call(callee_name);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:423:13
[INFO] [stdout]     |
[INFO] [stdout] 423 | /             match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout] 424 | |                 Some(v) => AsmValue::LocalVar(v).reload_value_from_reg(f, "a0", "t1"),
[INFO] [stdout] 425 | |                 None => AsmValue::Void.reload_value_from_reg(f, "a0", "t1")
[INFO] [stdout] 426 | |             };
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 423 |             let _ = match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 f.la(reg, name.as_str());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 let _ = f.la(reg, name.as_str());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 f.lw(reg, reg, 0);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 let _ = f.lw(reg, reg, 0);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 f.lw(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 let _ = f.lw(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 f.li(reg, *val);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let _ = f.li(reg, *val);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 f.la(reg, name.as_str());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let _ = f.la(reg, name.as_str());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 f.addi(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 let _ = f.addi(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:68:21
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     f.mv(reg, format!("a{}", index).as_str());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     let _ = f.mv(reg, format!("a{}", index).as_str());
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     f.lw(reg, "sp", (spoff + (index - 8) * 4) as i32); // load args from stack
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     let _ = f.lw(reg, "sp", (spoff + (index - 8) * 4) as i32); // load args from stack
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 f.la(temp_reg, name);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 let _ = f.la(temp_reg, name);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 f.sw(reg, temp_reg, 0);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 let _ = f.sw(reg, temp_reg, 0);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 f.sw(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 let _ = f.sw(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     f.mv(format!("a{}", index).as_str(), reg);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let _ = f.mv(format!("a{}", index).as_str(), reg);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/asm_value.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     f.sw(reg, "sp", ((index - 8)*4) as i32); // write args to stack
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     let _ = f.sw(reg, "sp", ((index - 8)*4) as i32); // write args to stack
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func_interface`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |         let func_interface = program.cur_func().unwrap();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:120:61
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn generate(&self, program: &mut ProgramManager<'prog>, f: &mut Writer<'file>) -> Result<Self::Out> {
[INFO] [stdout]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `f`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:128:61
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn generate(&self, program: &mut ProgramManager<'prog>, f: &mut Writer<'file>) -> Result<Self::Out> {
[INFO] [stdout]     |                                                             ^ help: if this is intentional, prefix it with an underscore: `_f`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:178:24
[INFO] [stdout]     |
[INFO] [stdout] 178 |     fn generate(&self, program: &mut ProgramManager<'prog>, f: &mut Writer<'file>) -> Result<Self::Out> {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:211:31
[INFO] [stdout]     |
[INFO] [stdout] 211 |             AsmValue::FuncArg(v) => val.arg_to_reg(f, "t0", spoff)?,
[INFO] [stdout]     |                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `program`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:271:24
[INFO] [stdout]     |
[INFO] [stdout] 271 |     fn generate(&self, program: &mut ProgramManager<'prog>, f: &mut Writer<'file>, val: &ValueData) -> Result<Self::Out> {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_program`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `valname`
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 |         let valname = val.name();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_valname`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                 let mut new_slot;
[INFO] [stdout]     |                     ----^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_ptr`
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:237:47
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub fn add_regslot(&mut self, reg:String, is_ptr:bool){
[INFO] [stdout]     |                                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_ptr`
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:241:51
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn add_stackslot(&mut self, offset:usize, is_ptr:bool){
[INFO] [stdout]     |                                                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_ptr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mode`
[INFO] [stdout]   --> src/main.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     let mode = match mode.as_str() {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_mode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:21:19
[INFO] [stdout]    |
[INFO] [stdout] 21 |     InvalidReturn(String),
[INFO] [stdout]    |     ------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[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] 21 -     InvalidReturn(String),
[INFO] [stdout] 21 +     InvalidReturn(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:22:23
[INFO] [stdout]    |
[INFO] [stdout] 22 |     InvalidIdentifier(String),
[INFO] [stdout]    |     ----------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 22 -     InvalidIdentifier(String),
[INFO] [stdout] 22 +     InvalidIdentifier(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:23:17
[INFO] [stdout]    |
[INFO] [stdout] 23 |     InvalidType(String),
[INFO] [stdout]    |     ----------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 23 -     InvalidType(String),
[INFO] [stdout] 23 +     InvalidType(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:24:17
[INFO] [stdout]    |
[INFO] [stdout] 24 |     InvalidInit(String),
[INFO] [stdout]    |     ----------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 24 -     InvalidInit(String),
[INFO] [stdout] 24 +     InvalidInit(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |     InvalidFunccall(String),
[INFO] [stdout]    |     --------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 25 -     InvalidFunccall(String),
[INFO] [stdout] 25 +     InvalidFunccall(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 |     DuplicateIdentifier(String),
[INFO] [stdout]    |     ------------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 26 -     DuplicateIdentifier(String),
[INFO] [stdout] 26 +     DuplicateIdentifier(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |     VarNotDeclared(String),
[INFO] [stdout]    |     -------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 27 -     VarNotDeclared(String),
[INFO] [stdout] 27 +     VarNotDeclared(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |     FuncNotDeclared(String),
[INFO] [stdout]    |     --------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 28 -     FuncNotDeclared(String),
[INFO] [stdout] 28 +     FuncNotDeclared(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/koopa_generator/mod.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |     InvalidArrayDeref(String),
[INFO] [stdout]    |     ----------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CompileError` has a derived impl for the trait `Debug`, but this is 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] 29 -     InvalidArrayDeref(String),
[INFO] [stdout] 29 +     InvalidArrayDeref(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_func`, `get_bblock_from_bb`, and `get_bblock_from_name` are never used
[INFO] [stdout]   --> src/koopa_generator/function_interface.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl FunctionInterface {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn get_func(&self) -> Function {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub fn get_bblock_from_bb<'a>(&self, program: &'a mut Program, bb: BasicBlock) -> &'a mut BasicBlockNode {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn get_bblock_from_name<'a>(&self, program: &'a mut Program, block_name: &str) -> &'a mut BasicBlockNode {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `functions`, `current_block`, and `current_function_name` are never read
[INFO] [stdout]   --> src/risc_v_generator/program_manager.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct ProgramManager<'prog> {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  8 |     program: &'prog Program,
[INFO] [stdout]  9 |     functions: HashMap<String, Function>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     current_block: Option<BasicBlock>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 14 |     current_function_name: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reg` is never read
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub struct ValueSlot{
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 203 |     pub reg: Option<RegSlot>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ValueSlot` 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: multiple associated items are never used
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 208 | impl ValueSlot{
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout] 209 |     fn new() -> Self{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     pub fn new_regslot(reg:String, is_ptr:bool) -> Self{
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub fn add_regslot(&mut self, reg:String, is_ptr:bool){
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 241 |     pub fn add_stackslot(&mut self, offset:usize, is_ptr:bool){
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     pub fn get_regslot(&self) -> Option<&RegSlot>{
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub fn get_regslot_mut(&mut self) -> Option<&mut RegSlot>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 272 |     pub fn get_stackslot_mut(&mut self) -> Option<&mut StackSlot>{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reg` is never read
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 291 | pub struct RegSlot{
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 292 |     pub reg: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RegSlot` 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: associated items `new` and `map` are never used
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:296:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | impl RegSlot{
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 296 |     fn new(reg:String) -> Self{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     fn map(self, f: impl FnOnce(String) -> String) -> Self{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `map` is never used
[INFO] [stdout]    --> src/risc_v_generator/program_manager.rs:320:8
[INFO] [stdout]     |
[INFO] [stdout] 313 | impl StackSlot{
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 320 |     fn map(self, f: impl FnOnce(usize) -> usize) -> Self{
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `beqz` is never used
[INFO] [stdout]   --> src/risc_v_generator/asm_generator.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl<'file> Writer<'file> {
[INFO] [stdout]    | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn beqz(&mut self, cond: &str, label: &str) -> Result<()>  {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Register` is never constructed
[INFO] [stdout]  --> src/risc_v_generator/reg_manager.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Register {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `store`, `clear`, and `delete` are never used
[INFO] [stdout]   --> src/risc_v_generator/reg_manager.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Register {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(name: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn store(&mut self, value: *const ValueData) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn clear(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn delete(&mut self, value: *const ValueData) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `GlobalvarOrFuncDef` should have a snake case name
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/compiler-3fd1648e8afc566d/out/ast/grammar.rs:6574:9
[INFO] [stdout]      |
[INFO] [stdout] 6574 |     (_, GlobalvarOrFuncDef, _): (usize, alloc::vec::Vec<DeclOrFunc>, usize),
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `globalvar_or_func_def`
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FuncHead` should have a snake case name
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/compiler-3fd1648e8afc566d/out/ast/grammar.rs:6784:9
[INFO] [stdout]      |
[INFO] [stdout] 6784 |     (_, FuncHead, _): (usize, (FuncType, String), usize),
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `func_head`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FuncArgs` should have a snake case name
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/compiler-3fd1648e8afc566d/out/ast/grammar.rs:6785:9
[INFO] [stdout]      |
[INFO] [stdout] 6785 |     (_, FuncArgs, _): (usize, Vec<Param>, usize),
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `func_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `FuncBody` should have a snake case name
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/compiler-3fd1648e8afc566d/out/ast/grammar.rs:6787:9
[INFO] [stdout]      |
[INFO] [stdout] 6787 |     (_, FuncBody, _): (usize, Block, usize),
[INFO] [stdout]      |         ^^^^^^^^ help: convert the identifier to snake case: `func_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `BlockItems` should have a snake case name
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/compiler-3fd1648e8afc566d/out/ast/grammar.rs:6878:9
[INFO] [stdout]      |
[INFO] [stdout] 6878 |     (_, BlockItems, _): (usize, alloc::vec::Vec<BlockItem>, usize),
[INFO] [stdout]      |         ^^^^^^^^^^ help: convert the identifier to snake case: `block_items`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/koopa_generator/generator.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |             namespace.new_func(name, new_func);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |             let _ = namespace.new_func(name, new_func);
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/koopa_generator/generator.rs:184:21
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     namespace.new_value(&self.id, NamespValue::ConstInt(val), true);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 184 |                     let _ = namespace.new_value(&self.id, NamespValue::ConstInt(val), true);
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/koopa_generator/generator.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |             namespace.new_value(&self.id, NamespValue::Var(value), true);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let _ = namespace.new_value(&self.id, NamespValue::Var(value), true);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/koopa_generator/generator.rs:285:9
[INFO] [stdout]     |
[INFO] [stdout] 285 |         namespace.new_value(&self.id, NamespValue::Var(value), false);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 285 |         let _ = namespace.new_value(&self.id, NamespValue::Var(value), false);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/koopa_generator/function_interface.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |         layout.bbs_mut().push_key_back(bb);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let _ = layout.bbs_mut().push_key_back(bb);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/koopa_generator/function_interface.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |         layout.bb_mut(bb).insts_mut().push_key_back(inst);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let _ = layout.bb_mut(bb).insts_mut().push_key_back(inst);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:67:28
[INFO] [stdout]     |
[INFO] [stdout]  67 |             self.func(func).clone().generate(program, f)?;
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `koopa::ir::FunctionData` does not implement `Clone`, so calling `clone` on `&koopa::ir::FunctionData` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]  67 -             self.func(func).clone().generate(program, f)?;
[INFO] [stdout]  67 +             self.func(func).generate(program, f)?;
[INFO] [stdout]     |
[INFO] [stdout] help: if you meant to clone `koopa::ir::FunctionData`, implement `Clone` for it
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/koopa-0.0.7/src/ir/entities.rs:205:1
[INFO] [stdout]     |
[INFO] [stdout] 205 + #[derive(Clone)]
[INFO] [stdout] 206 | pub struct FunctionData {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/code_generator.rs:99:9
[INFO] [stdout]    |
[INFO] [stdout] 99 |         f.func_entry(self.name(), func_interface);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let _ = f.func_entry(self.name(), func_interface);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |         writeln!(f.file_mut());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let _ = writeln!(f.file_mut());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 |         writeln!(f.file_mut(), "    # Store");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let _ = writeln!(f.file_mut(), "    # Store");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |             f.sw("t0", "t1", 0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 219 |             let _ = f.sw("t0", "t1", 0);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |             dst.reload_value_from_reg(f, "t0", "t1");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 224 |             let _ = dst.reload_value_from_reg(f, "t0", "t1");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:235:9
[INFO] [stdout]     |
[INFO] [stdout] 235 |         self.cond().generate(program, f)?.normal_to_reg(f, "t0");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let _ = self.cond().generate(program, f)?.normal_to_reg(f, "t0");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:239:9
[INFO] [stdout]     |
[INFO] [stdout] 239 |         f.bnez("t0", &tto_name);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 239 |         let _ = f.bnez("t0", &tto_name);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         f.j(&fto_name);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 240 |         let _ = f.j(&fto_name);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |         f.j(&to_name);
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 251 |         let _ = f.j(&to_name);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:261:13
[INFO] [stdout]     |
[INFO] [stdout] 261 |             val.clone().generate(program, f)?.normal_to_reg(f, "a0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 261 |             let _ = val.clone().generate(program, f)?.normal_to_reg(f, "a0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 263 |         f.func_end(program.cur_func().unwrap());
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 263 |         let _ = f.func_end(program.cur_func().unwrap());
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 288 | /         match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout] 289 | |             Some(v) => AsmValue::LocalVar(v).reload_value_from_reg(f, "t0", "t1"),
[INFO] [stdout] 290 | |             None => AsmValue::Void.reload_value_from_reg(f, "t0", "t1")
[INFO] [stdout] 291 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 288 |         let _ = match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |         writeln!(f.file_mut(), "    # Ptr");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let _ = writeln!(f.file_mut(), "    # Ptr");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |             src.normal_to_reg(f, "t0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |             let _ = src.normal_to_reg(f, "t0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:306:13
[INFO] [stdout]     |
[INFO] [stdout] 306 |             src.load_addr_to_reg(f, "t0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 306 |             let _ = src.load_addr_to_reg(f, "t0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         f.muli("t1", "t1", size as i32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 314 |         let _ = f.muli("t1", "t1", size as i32);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:315:9
[INFO] [stdout]     |
[INFO] [stdout] 315 |         f.op2("add", "t0", "t0", "t1");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 315 |         let _ = f.op2("add", "t0", "t0", "t1");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:318:9
[INFO] [stdout]     |
[INFO] [stdout] 318 | /         match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout] 319 | |             Some(v) => AsmValue::LocalVar(v).reload_value_from_reg(f, "t0", "t1"),
[INFO] [stdout] 320 | |             None => AsmValue::Void.reload_value_from_reg(f, "t0", "t1")
[INFO] [stdout] 321 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let _ = match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:331:9
[INFO] [stdout]     |
[INFO] [stdout] 331 |         writeln!(f.file_mut(), "    # Elemptr");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 331 |         let _ = writeln!(f.file_mut(), "    # Elemptr");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:334:13
[INFO] [stdout]     |
[INFO] [stdout] 334 |             src.normal_to_reg(f, "t0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 334 |             let _ = src.normal_to_reg(f, "t0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:337:13
[INFO] [stdout]     |
[INFO] [stdout] 337 |             src.load_addr_to_reg(f, "t0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 337 |             let _ = src.load_addr_to_reg(f, "t0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:345:9
[INFO] [stdout]     |
[INFO] [stdout] 345 |         f.muli("t1", "t1", size as i32);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 345 |         let _ = f.muli("t1", "t1", size as i32);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:346:9
[INFO] [stdout]     |
[INFO] [stdout] 346 |         f.op2("add", "t0", "t0", "t1");
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 346 |         let _ = f.op2("add", "t0", "t0", "t1");
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:349:9
[INFO] [stdout]     |
[INFO] [stdout] 349 | /         match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout] 350 | |             Some(v) => AsmValue::LocalVar(v).reload_value_from_reg(f, "t0", "t1"),
[INFO] [stdout] 351 | |             None => AsmValue::Void.reload_value_from_reg(f, "t0", "t1")
[INFO] [stdout] 352 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 349 |         let _ = match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:398:9
[INFO] [stdout]     |
[INFO] [stdout] 398 | /         match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout] 399 | |             Some(v) => AsmValue::LocalVar(v).reload_value_from_reg(f, "t0", "t1"),
[INFO] [stdout] 400 | |             None => AsmValue::Void.reload_value_from_reg(f, "t0", "t1")
[INFO] [stdout] 401 | |         };
[INFO] [stdout]     | |_________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 398 |         let _ = match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:416:13
[INFO] [stdout]     |
[INFO] [stdout] 416 |             arg.normal_to_reg(f, "t0");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 416 |             let _ = arg.normal_to_reg(f, "t0");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:417:13
[INFO] [stdout]     |
[INFO] [stdout] 417 |             AsmValue::FuncArg(i).reload_value_from_reg(f, "t0", "t1");
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 417 |             let _ = AsmValue::FuncArg(i).reload_value_from_reg(f, "t0", "t1");
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:421:9
[INFO] [stdout]     |
[INFO] [stdout] 421 |         f.call(callee_name);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 421 |         let _ = f.call(callee_name);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/code_generator.rs:423:13
[INFO] [stdout]     |
[INFO] [stdout] 423 | /             match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout] 424 | |                 Some(v) => AsmValue::LocalVar(v).reload_value_from_reg(f, "a0", "t1"),
[INFO] [stdout] 425 | |                 None => AsmValue::Void.reload_value_from_reg(f, "a0", "t1")
[INFO] [stdout] 426 | |             };
[INFO] [stdout]     | |_____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 423 |             let _ = match program.cur_func().unwrap().stack_offset_resize(value) {
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:27:17
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 f.la(reg, name.as_str());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 27 |                 let _ = f.la(reg, name.as_str());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 f.lw(reg, reg, 0);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 let _ = f.lw(reg, reg, 0);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 f.lw(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 let _ = f.lw(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:35:17
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 f.li(reg, *val);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 let _ = f.li(reg, *val);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 f.la(reg, name.as_str());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 let _ = f.la(reg, name.as_str());
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:53:17
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 f.addi(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 let _ = f.addi(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:68:21
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     f.mv(reg, format!("a{}", index).as_str());
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     let _ = f.mv(reg, format!("a{}", index).as_str());
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     f.lw(reg, "sp", (spoff + (index - 8) * 4) as i32); // load args from stack
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     let _ = f.lw(reg, "sp", (spoff + (index - 8) * 4) as i32); // load args from stack
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 f.la(temp_reg, name);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 let _ = f.la(temp_reg, name);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 f.sw(reg, temp_reg, 0);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 89 |                 let _ = f.sw(reg, temp_reg, 0);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 f.sw(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 let _ = f.sw(reg, "sp", slot.stackslot_offset().unwrap() as i32);
[INFO] [stdout]    |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/risc_v_generator/asm_value.rs:97:21
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     f.mv(format!("a{}", index).as_str(), reg);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let _ = f.mv(format!("a{}", index).as_str(), reg);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/risc_v_generator/asm_value.rs:100:21
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     f.sw(reg, "sp", ((index - 8)*4) as i32); // write args to stack
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     let _ = f.sw(reg, "sp", ((index - 8)*4) as i32); // write args to stack
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.87s
[INFO] running `Command { std: "docker" "inspect" "595e2014506b58d10aea35b1cf22a86eb56f0c05281b654d207e712d47a25e7d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "595e2014506b58d10aea35b1cf22a86eb56f0c05281b654d207e712d47a25e7d", kill_on_drop: false }`
[INFO] [stdout] 595e2014506b58d10aea35b1cf22a86eb56f0c05281b654d207e712d47a25e7d
