[INFO] cloning repository https://github.com/qig123/ccompiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/qig123/ccompiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqig123%2Fccompiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqig123%2Fccompiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2681037c2a8596e8d546a9f19a164f16d0fe51b9
[INFO] testing qig123/ccompiler against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqig123%2Fccompiler" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/qig123/ccompiler
[INFO] finished tweaking git repo https://github.com/qig123/ccompiler
[INFO] tweaked toml for git repo https://github.com/qig123/ccompiler written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/qig123/ccompiler on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/qig123/ccompiler 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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 16272605dc1794638551a3062f7abe3e0f73099890cb6db63bbd9d02ece56184
[INFO] running `Command { std: "docker" "start" "-a" "16272605dc1794638551a3062f7abe3e0f73099890cb6db63bbd9d02ece56184", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "16272605dc1794638551a3062f7abe3e0f73099890cb6db63bbd9d02ece56184", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "16272605dc1794638551a3062f7abe3e0f73099890cb6db63bbd9d02ece56184", kill_on_drop: false }`
[INFO] [stdout] 16272605dc1794638551a3062f7abe3e0f73099890cb6db63bbd9d02ece56184
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d480c218f13022d5c452ed097ac2a450b05d5ac932cad22f362e05977f824057
[INFO] running `Command { std: "docker" "start" "-a" "d480c218f13022d5c452ed097ac2a450b05d5ac932cad22f362e05977f824057", kill_on_drop: false }`
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling clap_builder v4.5.41
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]    Compiling clap v4.5.41
[INFO] [stderr]    Compiling ccompiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `c_ast`
[INFO] [stdout]   --> src/backend/tacky_gen.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn generate_tacky(&mut self, c_ast: &c_ast::Program) -> Result<Program, String> {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_c_ast`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTINUE_LABEL` is never used
[INFO] [stdout]  --> src/backend/tacky_gen.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const CONTINUE_LABEL: &str = "continue.";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BREAK_LABEL` is never used
[INFO] [stdout]  --> src/backend/tacky_gen.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const BREAK_LABEL: &str = "break.";
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_gen` is never read
[INFO] [stdout]  --> src/backend/tacky_gen.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct TackyGenerator<'a> {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 9 |     name_gen: &'a mut UniqueNameGenerator,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TackyGenerator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ShortCircuitJump` is never used
[INFO] [stdout]   --> src/backend/tacky_gen.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | enum ShortCircuitJump {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/backend/tacky_gen.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl<'a> TackyGenerator<'a> {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  59 |     fn generate_block(&mut self, b: &c_ast::Block) -> Result<Vec<Instruction>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn generate_block_item(&mut self, item: &c_ast::BlockItem) -> Result<Vec<Instruction>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     fn generate_tacky_decl(&mut self, d: &c_ast::Declaration) -> Result<Vec<Instruction>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     fn generate_var_tacky(&mut self, v: &c_ast::VarDecl) -> Result<Vec<Instruction>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn generate_forinit(&mut self, init: &c_ast::ForInit) -> Result<Vec<Instruction>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn generate_tacky_statement(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn generate_short_circuit_op(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     fn generate_tacky_exp(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/backend/tacky_ir.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Instruction {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 18 |     Return(Value),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 19 |     Unary {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Binary {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Copy {
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     Jump(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     JumpIfZero {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     JumpIfNotZero {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     Label(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 44 |     FunctionCall {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Constant` and `Var` are never constructed
[INFO] [stdout]   --> src/backend/tacky_ir.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum Value {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 52 |     Constant(i64),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 53 |     Var(String),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Complement`, `Negate`, and `Not` are never constructed
[INFO] [stdout]   --> src/backend/tacky_ir.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub enum UnaryOp {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 57 |     Complement,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 58 |     Negate,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 59 |     Not,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/backend/tacky_ir.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub enum BinaryOp {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 63 |     Add,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 64 |     Subtract,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 65 |     Multiply,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 66 |     Divide,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 67 |     Remainder,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 68 |     EqualEqual,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 69 |     BangEqual,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 70 |     Greater,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 71 |     GreaterEqual,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 72 |     Less,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 73 |     LessEqual,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BinaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.48s
[INFO] running `Command { std: "docker" "inspect" "d480c218f13022d5c452ed097ac2a450b05d5ac932cad22f362e05977f824057", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d480c218f13022d5c452ed097ac2a450b05d5ac932cad22f362e05977f824057", kill_on_drop: false }`
[INFO] [stdout] d480c218f13022d5c452ed097ac2a450b05d5ac932cad22f362e05977f824057
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] cfc36314793f5bb2052f5acac1516db668297c69ca2846c9e65a154769ef035c
[INFO] running `Command { std: "docker" "start" "-a" "cfc36314793f5bb2052f5acac1516db668297c69ca2846c9e65a154769ef035c", kill_on_drop: false }`
[INFO] [stderr]    Compiling ccompiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `c_ast`
[INFO] [stdout]   --> src/backend/tacky_gen.rs:23:38
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn generate_tacky(&mut self, c_ast: &c_ast::Program) -> Result<Program, String> {
[INFO] [stdout]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_c_ast`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTINUE_LABEL` is never used
[INFO] [stdout]  --> src/backend/tacky_gen.rs:4:7
[INFO] [stdout]   |
[INFO] [stdout] 4 | const CONTINUE_LABEL: &str = "continue.";
[INFO] [stdout]   |       ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `BREAK_LABEL` is never used
[INFO] [stdout]  --> src/backend/tacky_gen.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const BREAK_LABEL: &str = "break.";
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name_gen` is never read
[INFO] [stdout]  --> src/backend/tacky_gen.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct TackyGenerator<'a> {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 9 |     name_gen: &'a mut UniqueNameGenerator,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TackyGenerator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ShortCircuitJump` is never used
[INFO] [stdout]   --> src/backend/tacky_gen.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | enum ShortCircuitJump {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/backend/tacky_gen.rs:59:8
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl<'a> TackyGenerator<'a> {
[INFO] [stdout]     | --------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  59 |     fn generate_block(&mut self, b: &c_ast::Block) -> Result<Vec<Instruction>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     fn generate_block_item(&mut self, item: &c_ast::BlockItem) -> Result<Vec<Instruction>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  74 |     fn generate_tacky_decl(&mut self, d: &c_ast::Declaration) -> Result<Vec<Instruction>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     fn generate_var_tacky(&mut self, v: &c_ast::VarDecl) -> Result<Vec<Instruction>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn generate_forinit(&mut self, init: &c_ast::ForInit) -> Result<Vec<Instruction>, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     fn generate_tacky_statement(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 292 |     fn generate_short_circuit_op(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     fn generate_tacky_exp(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/backend/tacky_ir.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum Instruction {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 18 |     Return(Value),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 19 |     Unary {
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     Binary {
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Copy {
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     Jump(String),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 35 |     JumpIfZero {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     JumpIfNotZero {
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     Label(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 44 |     FunctionCall {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Constant` and `Var` are never constructed
[INFO] [stdout]   --> src/backend/tacky_ir.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum Value {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 52 |     Constant(i64),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 53 |     Var(String),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Complement`, `Negate`, and `Not` are never constructed
[INFO] [stdout]   --> src/backend/tacky_ir.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub enum UnaryOp {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 57 |     Complement,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 58 |     Negate,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 59 |     Not,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/backend/tacky_ir.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub enum BinaryOp {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 63 |     Add,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 64 |     Subtract,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 65 |     Multiply,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 66 |     Divide,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 67 |     Remainder,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 68 |     EqualEqual,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 69 |     BangEqual,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 70 |     Greater,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 71 |     GreaterEqual,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 72 |     Less,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 73 |     LessEqual,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BinaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.48s
[INFO] running `Command { std: "docker" "inspect" "cfc36314793f5bb2052f5acac1516db668297c69ca2846c9e65a154769ef035c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cfc36314793f5bb2052f5acac1516db668297c69ca2846c9e65a154769ef035c", kill_on_drop: false }`
[INFO] [stdout] cfc36314793f5bb2052f5acac1516db668297c69ca2846c9e65a154769ef035c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4ff062d8c27f7d69852a45d749dee9829d36f17e8336428c2e84472510c84be8
[INFO] running `Command { std: "docker" "start" "-a" "4ff062d8c27f7d69852a45d749dee9829d36f17e8336428c2e84472510c84be8", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `c_ast`
[INFO] [stderr]   --> src/backend/tacky_gen.rs:23:38
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub fn generate_tacky(&mut self, c_ast: &c_ast::Program) -> Result<Program, String> {
[INFO] [stderr]    |                                      ^^^^^ help: if this is intentional, prefix it with an underscore: `_c_ast`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `CONTINUE_LABEL` is never used
[INFO] [stderr]  --> src/backend/tacky_gen.rs:4:7
[INFO] [stderr]   |
[INFO] [stderr] 4 | const CONTINUE_LABEL: &str = "continue.";
[INFO] [stderr]   |       ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: constant `BREAK_LABEL` is never used
[INFO] [stderr]  --> src/backend/tacky_gen.rs:5:7
[INFO] [stderr]   |
[INFO] [stderr] 5 | const BREAK_LABEL: &str = "break.";
[INFO] [stderr]   |       ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `name_gen` is never read
[INFO] [stderr]  --> src/backend/tacky_gen.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct TackyGenerator<'a> {
[INFO] [stderr]   |            -------------- field in this struct
[INFO] [stderr] 9 |     name_gen: &'a mut UniqueNameGenerator,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `TackyGenerator` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ShortCircuitJump` is never used
[INFO] [stderr]   --> src/backend/tacky_gen.rs:13:6
[INFO] [stderr]    |
[INFO] [stderr] 13 | enum ShortCircuitJump {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/backend/tacky_gen.rs:59:8
[INFO] [stderr]     |
[INFO] [stderr]  18 | impl<'a> TackyGenerator<'a> {
[INFO] [stderr]     | --------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  59 |     fn generate_block(&mut self, b: &c_ast::Block) -> Result<Vec<Instruction>, String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  68 |     fn generate_block_item(&mut self, item: &c_ast::BlockItem) -> Result<Vec<Instruction>, String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  74 |     fn generate_tacky_decl(&mut self, d: &c_ast::Declaration) -> Result<Vec<Instruction>, String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  82 |     fn generate_var_tacky(&mut self, v: &c_ast::VarDecl) -> Result<Vec<Instruction>, String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  96 |     fn generate_forinit(&mut self, init: &c_ast::ForInit) -> Result<Vec<Instruction>, String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 110 |     fn generate_tacky_statement(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 292 |     fn generate_short_circuit_op(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 349 |     fn generate_tacky_exp(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/backend/tacky_ir.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub enum Instruction {
[INFO] [stderr]    |          ----------- variants in this enum
[INFO] [stderr] 18 |     Return(Value),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 19 |     Unary {
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 24 |     Binary {
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 30 |     Copy {
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 34 |     Jump(String),
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 35 |     JumpIfZero {
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     JumpIfNotZero {
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |     Label(String),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 44 |     FunctionCall {
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Instruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Constant` and `Var` are never constructed
[INFO] [stderr]   --> src/backend/tacky_ir.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub enum Value {
[INFO] [stderr]    |          ----- variants in this enum
[INFO] [stderr] 52 |     Constant(i64),
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 53 |     Var(String),
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Value` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Complement`, `Negate`, and `Not` are never constructed
[INFO] [stderr]   --> src/backend/tacky_ir.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub enum UnaryOp {
[INFO] [stderr]    |          ------- variants in this enum
[INFO] [stderr] 57 |     Complement,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 58 |     Negate,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 59 |     Not,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/backend/tacky_ir.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub enum BinaryOp {
[INFO] [stderr]    |          -------- variants in this enum
[INFO] [stderr] 63 |     Add,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 64 |     Subtract,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 65 |     Multiply,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 66 |     Divide,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 67 |     Remainder,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 68 |     EqualEqual,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 69 |     BangEqual,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 70 |     Greater,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 71 |     GreaterEqual,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 72 |     Less,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 73 |     LessEqual,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BinaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `ccompiler` (bin "ccompiler" test) generated 10 warnings (run `cargo fix --bin "ccompiler" -p ccompiler --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ccompiler-96449f9a731f52af)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr] cc1: fatal error: opening output file ./tests/program.i: Read-only file system
[INFO] [stderr] compilation terminated.
[INFO] [stderr] error: test failed, to rerun pass `--bin ccompiler`
[INFO] [stdout] test tests::test_default_compilation ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- tests::test_default_compilation stdout ----
[INFO] [stdout] 
[INFO] [stdout] --- 开始编译: ./tests/program.c ---
[INFO] [stdout] (1) 预处理: ./tests/program.c -> ./tests/program.i
[INFO] [stdout] Error: "gcc 预处理失败"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     tests::test_default_compilation
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4ff062d8c27f7d69852a45d749dee9829d36f17e8336428c2e84472510c84be8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4ff062d8c27f7d69852a45d749dee9829d36f17e8336428c2e84472510c84be8", kill_on_drop: false }`
[INFO] [stdout] 4ff062d8c27f7d69852a45d749dee9829d36f17e8336428c2e84472510c84be8
