[INFO] cloning repository https://github.com/janglada/compiling-asm-from-scratch [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/janglada/compiling-asm-from-scratch" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjanglada%2Fcompiling-asm-from-scratch", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjanglada%2Fcompiling-asm-from-scratch'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 95813e0b06b045f57969fd539039e96f0c32883c [INFO] checking janglada/compiling-asm-from-scratch against try#9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869 for pr-129249 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjanglada%2Fcompiling-asm-from-scratch" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/janglada/compiling-asm-from-scratch on toolchain 9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/janglada/compiling-asm-from-scratch [INFO] finished tweaking git repo https://github.com/janglada/compiling-asm-from-scratch [INFO] tweaked toml for git repo https://github.com/janglada/compiling-asm-from-scratch written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/janglada/compiling-asm-from-scratch 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" "+9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d7a1e609b34381851cc4ff99d5a37a0f2b2e3bfffda5c5b920e30c9a84c1e73b [INFO] running `Command { std: "docker" "start" "-a" "d7a1e609b34381851cc4ff99d5a37a0f2b2e3bfffda5c5b920e30c9a84c1e73b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d7a1e609b34381851cc4ff99d5a37a0f2b2e3bfffda5c5b920e30c9a84c1e73b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d7a1e609b34381851cc4ff99d5a37a0f2b2e3bfffda5c5b920e30c9a84c1e73b", kill_on_drop: false }` [INFO] [stdout] d7a1e609b34381851cc4ff99d5a37a0f2b2e3bfffda5c5b920e30c9a84c1e73b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+9543f8ea2aae74b8f13ac2a6e6c0ecdca9810869" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fd48c7d1d05b5442e11f595f6d4c1dc249361dd445791893423267f02ede26a8 [INFO] running `Command { std: "docker" "start" "-a" "fd48c7d1d05b5442e11f595f6d4c1dc249361dd445791893423267f02ede26a8", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.5 [INFO] [stderr] Compiling libc v0.2.164 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling peg-runtime v0.8.3 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.89 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Compiling peg-macros v0.8.4 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking peg v0.8.4 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking ArmCompile v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Rng` and `distributions::Alphanumeric` [INFO] [stdout] --> src/arm.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | use rand::{distributions::Alphanumeric, Rng}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/ast.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/arm.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 65 | AST::Return { term } => self.emit_return(term, writer), [INFO] [stdout] | -------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 68 | AST::Return { term } => self.emit_return(term, writer), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/arm.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/arm.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 35 | AST::Main(statements) => self.emit_main(statements, writer), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 36 | AST::Assert(condition) => self.emit_assert(condition, writer), [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 37 | AST::Number(number) => self.emit_number(number, writer), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 38 | AST::Not(term) => self.emit_not(term, writer), [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 81 | _ => { [INFO] [stdout] | ^ ...and 25 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ast.rs:182:21 [INFO] [stdout] | [INFO] [stdout] 182 | let mut vec_str = args.into_iter().map(|v| v.to_string()).collect::>(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> src/ast.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/arm.rs:68:13 [INFO] [stdout] | [INFO] [stdout] 65 | AST::Return { term } => self.emit_return(term, writer), [INFO] [stdout] | -------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 68 | AST::Return { term } => self.emit_return(term, writer), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/arm.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/arm.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 35 | AST::Main(statements) => self.emit_main(statements, writer), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 36 | AST::Assert(condition) => self.emit_assert(condition, writer), [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] 37 | AST::Number(number) => self.emit_number(number, writer), [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] 38 | AST::Not(term) => self.emit_not(term, writer), [INFO] [stdout] | -------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 81 | _ => { [INFO] [stdout] | ^ ...and 25 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `locals` [INFO] [stdout] --> src/arm.rs:615:13 [INFO] [stdout] | [INFO] [stdout] 615 | let locals: HashMap = HashMap::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_locals` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ArmBackend` is never constructed [INFO] [stdout] --> src/arm.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct ArmBackend { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ArmBackend` has a derived impl for the trait `Default`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `emit_fn_prologue` and `emit_fn_epilogue` are never used [INFO] [stdout] --> src/arm.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 13 | impl ArmBackend { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 14 | fn emit_fn_prologue(&mut self, writer: &mut dyn Write) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | fn emit_fn_epilogue(&mut self, writer: &mut dyn Write) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `locals` and `next_local_offset` are never read [INFO] [stdout] --> src/emitter.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Environment { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 7 | pub(crate) locals: HashMap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 8 | pub(crate) next_local_offset: isize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Backend` is never used [INFO] [stdout] --> src/emitter.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait Backend { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeGenError` is never constructed [INFO] [stdout] --> src/error.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct CodeGenError {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CompileError` is never used [INFO] [stdout] --> src/error.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum CompileError { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/parser.rs:216:8 [INFO] [stdout] | [INFO] [stdout] 216 | pub fn parse(input: &str) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:304:13 [INFO] [stdout] | [INFO] [stdout] 304 | self.write(args.first().unwrap(), writer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 304 | let _ = self.write(args.first().unwrap(), writer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:409:9 [INFO] [stdout] | [INFO] [stdout] 409 | writeln!(writer, "\tpush {{r0, ip}}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:461:9 [INFO] [stdout] | [INFO] [stdout] 461 | writeln!(writer, "\tldr r0, ={}", 4 * (len + 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:462:9 [INFO] [stdout] | [INFO] [stdout] 462 | writeln!(writer, "\tbl malloc"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:463:9 [INFO] [stdout] | [INFO] [stdout] 463 | writeln!(writer, "\tpush {{r4, ip}}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:464:9 [INFO] [stdout] | [INFO] [stdout] 464 | writeln!(writer, "\tmov r4, r0"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:465:9 [INFO] [stdout] | [INFO] [stdout] 465 | writeln!(writer, "\tldr r0, ={}", len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 466 | writeln!(writer, "\tstr r0, [r4]"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:469:13 [INFO] [stdout] | [INFO] [stdout] 469 | writeln!(writer, "\tstr r0, [r4, #{}]", 4 * (i + 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:472:9 [INFO] [stdout] | [INFO] [stdout] 472 | writeln!(writer, "\tmov r0, r4"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:483:9 [INFO] [stdout] | [INFO] [stdout] 483 | writeln!(writer, "\tpush {{r0, ip}}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:485:9 [INFO] [stdout] | [INFO] [stdout] 485 | writeln!(writer, "\tpop {{r1, ip}}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:486:9 [INFO] [stdout] | [INFO] [stdout] 486 | writeln!(writer, "\tldr r2, [r1]"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | writeln!(writer, "\tcmp r0, r2"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:488:9 [INFO] [stdout] | [INFO] [stdout] 488 | writeln!(writer, "\tmovhs r0, #0"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:489:9 [INFO] [stdout] | [INFO] [stdout] 489 | writeln!(writer, "\taddlo r1, r1, #4"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:490:9 [INFO] [stdout] | [INFO] [stdout] 490 | writeln!(writer, "\tlsllo r0, r0, #2"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/ast.rs:182:21 [INFO] [stdout] | [INFO] [stdout] 182 | let mut vec_str = args.into_iter().map(|v| v.to_string()).collect::>(); [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ast` [INFO] [stdout] --> src/parser.rs:1058:13 [INFO] [stdout] | [INFO] [stdout] 1058 | let ast = lang_parser::parser( [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ast` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `stderr` is never read [INFO] [stdout] --> src/arm.rs:515:13 [INFO] [stdout] | [INFO] [stdout] 513 | struct Output { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 514 | pub stdout: Vec, [INFO] [stdout] 515 | pub stderr: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `emit` is never used [INFO] [stdout] --> src/emitter.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 11 | pub trait Backend { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] 12 | fn emit(&self); [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodeGenError` is never constructed [INFO] [stdout] --> src/error.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct CodeGenError {} [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/error.rs:7:16 [INFO] [stdout] | [INFO] [stdout] 7 | ParseError(ParseError), [INFO] [stdout] | ---------- ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `CompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 7 | ParseError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/error.rs:8:13 [INFO] [stdout] | [INFO] [stdout] 8 | IOError(std::io::Error), [INFO] [stdout] | ------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `CompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 8 | IOError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/error.rs:9:18 [INFO] [stdout] | [INFO] [stdout] 9 | CodeGenError(String), [INFO] [stdout] | ------------ ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `CompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 9 | CodeGenError(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0` and `1` are never read [INFO] [stdout] --> src/error.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 11 | RuntimeError(String, Option), [INFO] [stdout] | ------------ ^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `CompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 11 | RuntimeError((), ()), [INFO] [stdout] | ~~ ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SyntaxError` is never constructed [INFO] [stdout] --> src/error.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum CompileError { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 10 | SyntaxError(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this conversion is useless `ast::AST` to `ast::AST` [INFO] [stdout] --> src/parser.rs:1044:35 [INFO] [stdout] | [INFO] [stdout] 1044 | body: AST::Block(vec![AST::Var { [INFO] [stdout] | ___________________________________^ [INFO] [stdout] 1045 | | name: "x".to_string(), [INFO] [stdout] 1046 | | value: AST::Number(1).into(), [INFO] [stdout] 1047 | | } [INFO] [stdout] 1048 | | .into()]) [INFO] [stdout] | |___________________^ [INFO] [stdout] | [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:304:13 [INFO] [stdout] | [INFO] [stdout] 304 | self.write(args.first().unwrap(), writer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 304 | let _ = self.write(args.first().unwrap(), writer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:409:9 [INFO] [stdout] | [INFO] [stdout] 409 | writeln!(writer, "\tpush {{r0, ip}}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:461:9 [INFO] [stdout] | [INFO] [stdout] 461 | writeln!(writer, "\tldr r0, ={}", 4 * (len + 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:462:9 [INFO] [stdout] | [INFO] [stdout] 462 | writeln!(writer, "\tbl malloc"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:463:9 [INFO] [stdout] | [INFO] [stdout] 463 | writeln!(writer, "\tpush {{r4, ip}}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:464:9 [INFO] [stdout] | [INFO] [stdout] 464 | writeln!(writer, "\tmov r4, r0"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:465:9 [INFO] [stdout] | [INFO] [stdout] 465 | writeln!(writer, "\tldr r0, ={}", len); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:466:9 [INFO] [stdout] | [INFO] [stdout] 466 | writeln!(writer, "\tstr r0, [r4]"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:469:13 [INFO] [stdout] | [INFO] [stdout] 469 | writeln!(writer, "\tstr r0, [r4, #{}]", 4 * (i + 1)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:472:9 [INFO] [stdout] | [INFO] [stdout] 472 | writeln!(writer, "\tmov r0, r4"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:483:9 [INFO] [stdout] | [INFO] [stdout] 483 | writeln!(writer, "\tpush {{r0, ip}}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:485:9 [INFO] [stdout] | [INFO] [stdout] 485 | writeln!(writer, "\tpop {{r1, ip}}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:486:9 [INFO] [stdout] | [INFO] [stdout] 486 | writeln!(writer, "\tldr r2, [r1]"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | writeln!(writer, "\tcmp r0, r2"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:488:9 [INFO] [stdout] | [INFO] [stdout] 488 | writeln!(writer, "\tmovhs r0, #0"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:489:9 [INFO] [stdout] | [INFO] [stdout] 489 | writeln!(writer, "\taddlo r1, r1, #4"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:490:9 [INFO] [stdout] | [INFO] [stdout] 490 | writeln!(writer, "\tlsllo r0, r0, #2"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: this warning originates in the macro `writeln` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/arm.rs:771:9 [INFO] [stdout] | [INFO] [stdout] 771 | / compile_and_run( [INFO] [stdout] 772 | | r#"function main() { [INFO] [stdout] 773 | | assert(!1); [INFO] [stdout] 774 | | }"#, [INFO] [stdout] 775 | | ); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 771 | let _ = compile_and_run( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `ArmCompile` (bin "ArmCompile" test) due to 1 previous error; 32 warnings emitted [INFO] running `Command { std: "docker" "inspect" "fd48c7d1d05b5442e11f595f6d4c1dc249361dd445791893423267f02ede26a8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fd48c7d1d05b5442e11f595f6d4c1dc249361dd445791893423267f02ede26a8", kill_on_drop: false }` [INFO] [stdout] fd48c7d1d05b5442e11f595f6d4c1dc249361dd445791893423267f02ede26a8