[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#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fqig123%2Fccompiler" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-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-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/qig123/ccompiler on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cc0da342bda85959b6085c9c24130f24f034ddc17945f26ee5bb5c5276f1f6f6
[INFO] running `Command { std: "docker" "start" "-a" "cc0da342bda85959b6085c9c24130f24f034ddc17945f26ee5bb5c5276f1f6f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cc0da342bda85959b6085c9c24130f24f034ddc17945f26ee5bb5c5276f1f6f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc0da342bda85959b6085c9c24130f24f034ddc17945f26ee5bb5c5276f1f6f6", kill_on_drop: false }`
[INFO] [stdout] cc0da342bda85959b6085c9c24130f24f034ddc17945f26ee5bb5c5276f1f6f6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] a16bd4139b954ecb8ad95e43ed7ef88ba7af0bef273f26f188d05062654c7664
[INFO] running `Command { std: "docker" "start" "-a" "a16bd4139b954ecb8ad95e43ed7ef88ba7af0bef273f26f188d05062654c7664", kill_on_drop: false }`
[INFO] [stderr]    Compiling clap_builder 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 5.61s
[INFO] running `Command { std: "docker" "inspect" "a16bd4139b954ecb8ad95e43ed7ef88ba7af0bef273f26f188d05062654c7664", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a16bd4139b954ecb8ad95e43ed7ef88ba7af0bef273f26f188d05062654c7664", kill_on_drop: false }`
[INFO] [stdout] a16bd4139b954ecb8ad95e43ed7ef88ba7af0bef273f26f188d05062654c7664
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] f997f4cc6b96e70323b79c3dd3f68842d4604a6451e79652b0845bb13d238249
[INFO] running `Command { std: "docker" "start" "-a" "f997f4cc6b96e70323b79c3dd3f68842d4604a6451e79652b0845bb13d238249", 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 2.09s
[INFO] running `Command { std: "docker" "inspect" "f997f4cc6b96e70323b79c3dd3f68842d4604a6451e79652b0845bb13d238249", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f997f4cc6b96e70323b79c3dd3f68842d4604a6451e79652b0845bb13d238249", kill_on_drop: false }`
[INFO] [stdout] f997f4cc6b96e70323b79c3dd3f68842d4604a6451e79652b0845bb13d238249
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 2e02171787f148286a49bddb4587c131b3550a01fc05968764c235badf0828ab
[INFO] running `Command { std: "docker" "start" "-a" "2e02171787f148286a49bddb4587c131b3550a01fc05968764c235badf0828ab", 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.06s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/ccompiler/96449f9a731f52af/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] [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] [stderr] error: test failed, to rerun pass `--bin ccompiler`
[INFO] running `Command { std: "docker" "inspect" "2e02171787f148286a49bddb4587c131b3550a01fc05968764c235badf0828ab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e02171787f148286a49bddb4587c131b3550a01fc05968764c235badf0828ab", kill_on_drop: false }`
[INFO] [stdout] 2e02171787f148286a49bddb4587c131b3550a01fc05968764c235badf0828ab
