[INFO] cloning repository https://github.com/hzy-hits/sysY_compiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hzy-hits/sysY_compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhzy-hits%2FsysY_compiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhzy-hits%2FsysY_compiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6ea9dc8b97643985bf7b323ffe32e59c6771cf18
[INFO] testing hzy-hits/sysY_compiler against 1.98.0-beta.1 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhzy-hits%2FsysY_compiler" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hzy-hits/sysY_compiler
[INFO] finished tweaking git repo https://github.com/hzy-hits/sysY_compiler
[INFO] tweaked toml for git repo https://github.com/hzy-hits/sysY_compiler written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hzy-hits/sysY_compiler on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hzy-hits/sysY_compiler 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" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8
[INFO] running `Command { std: "docker" "start" "2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling home v0.5.11
[INFO] [stderr]    Compiling either v1.13.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling indexmap v2.7.1
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling log v0.4.25
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling term v1.0.1
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling pico-args v0.5.0
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling ena v0.14.3
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling key-node-list v0.0.5
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling ascii-canvas v4.0.0
[INFO] [stderr]    Compiling koopa v0.0.8
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling string_cache v0.8.7
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling lalrpop-util v0.22.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling lalrpop v0.22.0
[INFO] [stderr]    Compiling sysY v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/asm_generator/gen_instruct.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Write;
[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: `BinaryOp`
[INFO] [stdout]  --> src/asm_generator/gen_instruct.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     BinaryOp, FunctionData, Value, ValueKind,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/asm_generator/register_manager.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BasicBlock`, `FunctionData`, `ValueKind`, and `layout::BasicBlockNode`
[INFO] [stdout]  --> src/asm_generator/register_manager.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use koopa::ir::{layout::BasicBlockNode, BasicBlock, FunctionData, Value, ValueKind};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Block`
[INFO] [stdout]  --> src/ast/func_def.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{ast::Block, ir_builder::IRBuilder, traits::ToIr};
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/traits/instruct_generator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]   --> src/asm_generator/gen_instruct.rs:54:37
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn spill_and_get_reg(&mut self, func: &FunctionData, val: Value) -> Option<String> {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/asm_generator/gen_instruct.rs:54:58
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn spill_and_get_reg(&mut self, func: &FunctionData, val: Value) -> Option<String> {
[INFO] [stdout]    |                                                          ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/asm_generator/register_manager.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let mut aligned_size = self.current_stack_offset;
[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: methods `allocate_saved`, `get_calling_convention_reg`, `reserve_for_call`, `get_return_reg`, `mark_register_live`, and `should_allocate_register` are never used
[INFO] [stdout]    --> src/asm_generator/register_manager.rs:111:19
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl RiscvRegisterManager {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub(crate) fn allocate_saved(&mut self) -> Option<String> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn get_calling_convention_reg(&self, index: usize) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn reserve_for_call(&mut self, arg_count: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn get_return_reg(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn mark_register_live(&mut self, reg: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub(crate) fn should_allocate_register(&self, val: Value) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_use_count`, `is_last_use`, and `decrease_use_count` are never used
[INFO] [stdout]   --> src/asm_generator/riscv_asm_generator.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl AsmGenerator {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn get_use_count(&self, val: &Value) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn is_last_use(&self, val: &Value) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn decrease_use_count(&mut self, val: &Value) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `sysY` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `sys_y`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 33.62s
[INFO] running `Command { std: "docker" "inspect" "2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling sysY v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/asm_generator/gen_instruct.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Write;
[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: `BinaryOp`
[INFO] [stdout]  --> src/asm_generator/gen_instruct.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     BinaryOp, FunctionData, Value, ValueKind,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/asm_generator/register_manager.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BasicBlock`, `FunctionData`, `ValueKind`, and `layout::BasicBlockNode`
[INFO] [stdout]  --> src/asm_generator/register_manager.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use koopa::ir::{layout::BasicBlockNode, BasicBlock, FunctionData, Value, ValueKind};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Block`
[INFO] [stdout]  --> src/ast/func_def.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{ast::Block, ir_builder::IRBuilder, traits::ToIr};
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/traits/instruct_generator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]   --> src/asm_generator/gen_instruct.rs:54:37
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn spill_and_get_reg(&mut self, func: &FunctionData, val: Value) -> Option<String> {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/asm_generator/gen_instruct.rs:54:58
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn spill_and_get_reg(&mut self, func: &FunctionData, val: Value) -> Option<String> {
[INFO] [stdout]    |                                                          ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/asm_generator/register_manager.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let mut aligned_size = self.current_stack_offset;
[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: methods `allocate_saved`, `get_calling_convention_reg`, `reserve_for_call`, `get_return_reg`, `mark_register_live`, and `should_allocate_register` are never used
[INFO] [stdout]    --> src/asm_generator/register_manager.rs:111:19
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl RiscvRegisterManager {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub(crate) fn allocate_saved(&mut self) -> Option<String> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn get_calling_convention_reg(&self, index: usize) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn reserve_for_call(&mut self, arg_count: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn get_return_reg(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn mark_register_live(&mut self, reg: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub(crate) fn should_allocate_register(&self, val: Value) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_use_count`, `is_last_use`, and `decrease_use_count` are never used
[INFO] [stdout]   --> src/asm_generator/riscv_asm_generator.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl AsmGenerator {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn get_use_count(&self, val: &Value) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn is_last_use(&self, val: &Value) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn decrease_use_count(&mut self, val: &Value) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `sysY` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `sys_y`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Write`
[INFO] [stdout]  --> src/asm_generator/gen_instruct.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::Write;
[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: `BinaryOp`
[INFO] [stdout]  --> src/asm_generator/gen_instruct.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     BinaryOp, FunctionData, Value, ValueKind,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/asm_generator/register_manager.rs:1:33
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BasicBlock`, `FunctionData`, `ValueKind`, and `layout::BasicBlockNode`
[INFO] [stdout]  --> src/asm_generator/register_manager.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use koopa::ir::{layout::BasicBlockNode, BasicBlock, FunctionData, Value, ValueKind};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Block`
[INFO] [stdout]  --> src/ast/func_def.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::{ast::Block, ir_builder::IRBuilder, traits::ToIr};
[INFO] [stdout]   |             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `anyhow::Result`
[INFO] [stdout]  --> src/traits/instruct_generator.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use anyhow::Result;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]   --> src/asm_generator/gen_instruct.rs:54:37
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn spill_and_get_reg(&mut self, func: &FunctionData, val: Value) -> Option<String> {
[INFO] [stdout]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]   --> src/asm_generator/gen_instruct.rs:54:58
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn spill_and_get_reg(&mut self, func: &FunctionData, val: Value) -> Option<String> {
[INFO] [stdout]    |                                                          ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/asm_generator/register_manager.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |         let mut aligned_size = self.current_stack_offset;
[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: methods `allocate_saved`, `get_calling_convention_reg`, `reserve_for_call`, `get_return_reg`, `mark_register_live`, and `should_allocate_register` are never used
[INFO] [stdout]    --> src/asm_generator/register_manager.rs:111:19
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl RiscvRegisterManager {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub(crate) fn allocate_saved(&mut self) -> Option<String> {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn get_calling_convention_reg(&self, index: usize) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn reserve_for_call(&mut self, arg_count: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 166 |     pub fn get_return_reg(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn mark_register_live(&mut self, reg: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub(crate) fn should_allocate_register(&self, val: Value) -> bool {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_use_count`, `is_last_use`, and `decrease_use_count` are never used
[INFO] [stdout]   --> src/asm_generator/riscv_asm_generator.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl AsmGenerator {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 69 |     fn get_use_count(&self, val: &Value) -> usize {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     fn is_last_use(&self, val: &Value) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn decrease_use_count(&mut self, val: &Value) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.86s
[INFO] running `Command { std: "docker" "inspect" "2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::fmt::Write`
[INFO] [stderr]  --> src/asm_generator/gen_instruct.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::fmt::Write;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BinaryOp`
[INFO] [stderr]  --> src/asm_generator/gen_instruct.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 |     BinaryOp, FunctionData, Value, ValueKind,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> src/asm_generator/register_manager.rs:1:33
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `BasicBlock`, `FunctionData`, `ValueKind`, and `layout::BasicBlockNode`
[INFO] [stderr]  --> src/asm_generator/register_manager.rs:3:17
[INFO] [stderr]   |
[INFO] [stderr] 3 | use koopa::ir::{layout::BasicBlockNode, BasicBlock, FunctionData, Value, ValueKind};
[INFO] [stderr]   |                 ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ast::Block`
[INFO] [stderr]  --> src/ast/func_def.rs:7:13
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::{ast::Block, ir_builder::IRBuilder, traits::ToIr};
[INFO] [stderr]   |             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `anyhow::Result`
[INFO] [stderr]  --> src/traits/instruct_generator.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use anyhow::Result;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `func`
[INFO] [stderr]   --> src/asm_generator/gen_instruct.rs:54:37
[INFO] [stderr]    |
[INFO] [stderr] 54 |     fn spill_and_get_reg(&mut self, func: &FunctionData, val: Value) -> Option<String> {
[INFO] [stderr]    |                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]   --> src/asm_generator/gen_instruct.rs:54:58
[INFO] [stderr]    |
[INFO] [stderr] 54 |     fn spill_and_get_reg(&mut self, func: &FunctionData, val: Value) -> Option<String> {
[INFO] [stderr]    |                                                          ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/asm_generator/register_manager.rs:236:13
[INFO] [stderr]     |
[INFO] [stderr] 236 |         let mut aligned_size = self.current_stack_offset;
[INFO] [stderr]     |             ----^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `allocate_saved`, `get_calling_convention_reg`, `reserve_for_call`, `get_return_reg`, `mark_register_live`, and `should_allocate_register` are never used
[INFO] [stderr]    --> src/asm_generator/register_manager.rs:111:19
[INFO] [stderr]     |
[INFO] [stderr]  55 | impl RiscvRegisterManager {
[INFO] [stderr]     | ------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 111 |     pub(crate) fn allocate_saved(&mut self) -> Option<String> {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 153 |     pub fn get_calling_convention_reg(&self, index: usize) -> Option<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 161 |     pub fn reserve_for_call(&mut self, arg_count: usize) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 166 |     pub fn get_return_reg(&self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 170 |     pub fn mark_register_live(&mut self, reg: &str) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 197 |     pub(crate) fn should_allocate_register(&self, val: Value) -> bool {
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_use_count`, `is_last_use`, and `decrease_use_count` are never used
[INFO] [stderr]   --> src/asm_generator/riscv_asm_generator.rs:69:8
[INFO] [stderr]    |
[INFO] [stderr]  7 | impl AsmGenerator {
[INFO] [stderr]    | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 69 |     fn get_use_count(&self, val: &Value) -> usize {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 77 |     fn is_last_use(&self, val: &Value) -> bool {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 81 |     fn decrease_use_count(&mut self, val: &Value) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: crate `sysY` should have a snake case name
[INFO] [stderr]   |
[INFO] [stderr]   = help: convert the identifier to snake case: `sys_y`
[INFO] [stderr]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `sysY` (lib) generated 12 warnings (run `cargo fix --lib -p sysY` to apply 9 suggestions)
[INFO] [stderr] warning: `sysY` (lib test) generated 11 warnings (11 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/sysY-dbbdd357804899d4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sysY-f57355eb136cadef)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests sysY
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8", kill_on_drop: false }`
[INFO] [stdout] 2322e9d2f0bb1e821d3b4f53a045936035c0e4c13cbf6a544fa0c213601ba1a8
