[INFO] cloning repository https://github.com/bradford-hamilton/iridium [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bradford-hamilton/iridium" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbradford-hamilton%2Firidium", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbradford-hamilton%2Firidium'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0686e16b27a31138a1e8c29bbd352c6c70d50515 [INFO] checking bradford-hamilton/iridium against beta for pr-78714 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbradford-hamilton%2Firidium" "/workspace/builds/worker-4/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/bradford-hamilton/iridium on toolchain beta [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/bradford-hamilton/iridium [INFO] finished tweaking git repo https://github.com/bradford-hamilton/iridium [INFO] tweaked toml for git repo https://github.com/bradford-hamilton/iridium written to /workspace/builds/worker-4/source/Cargo.toml [INFO] crate git repo https://github.com/bradford-hamilton/iridium already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta" "fetch" "--locked" "--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-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+beta" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8e2cac7f7f18764034b065bf54f47aace3206941d4a877c11e33eb5ebf19de08 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "8e2cac7f7f18764034b065bf54f47aace3206941d4a877c11e33eb5ebf19de08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8e2cac7f7f18764034b065bf54f47aace3206941d4a877c11e33eb5ebf19de08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8e2cac7f7f18764034b065bf54f47aace3206941d4a877c11e33eb5ebf19de08", kill_on_drop: false }` [INFO] [stdout] 8e2cac7f7f18764034b065bf54f47aace3206941d4a877c11e33eb5ebf19de08 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:6eabd152ff4036248d66efda456a36cb33d24b7291b33f25f75140726c88da35" "/opt/rustwide/cargo-home/bin/cargo" "+beta" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 140d52a08387b3cd7674d40f08905656958a4efbe1fa267beeca7f5fa4e009e4 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "140d52a08387b3cd7674d40f08905656958a4efbe1fa267beeca7f5fa4e009e4", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Checking termcolor v1.0.5 [INFO] [stderr] Checking yaml-rust v0.3.5 [INFO] [stderr] Compiling nom v4.2.3 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking env_logger v0.5.13 [INFO] [stderr] Checking iridium v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: expected type, found `{` [INFO] [stdout] --> src/assembler/mod.rs:207:64 [INFO] [stdout] | [INFO] [stdout] 96 | impl Assembler { [INFO] [stdout] | - while parsing this item list starting here [INFO] [stdout] ... [INFO] [stdout] 207 | fn process_section_header(&mut self, header_name: &str) -> { [INFO] [stdout] | ^ expected type [INFO] [stdout] ... [INFO] [stdout] 277 | } [INFO] [stdout] | - the item list ends here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected type, found `{` [INFO] [stdout] --> src/assembler/mod.rs:207:64 [INFO] [stdout] | [INFO] [stdout] 96 | impl Assembler { [INFO] [stdout] | - while parsing this item list starting here [INFO] [stdout] ... [INFO] [stdout] 207 | fn process_section_header(&mut self, header_name: &str) -> { [INFO] [stdout] | ^ expected type [INFO] [stdout] ... [INFO] [stdout] 277 | } [INFO] [stdout] | - the item list ends here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `error` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 66 | error!("No value found for {:?}", name); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `error` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | error!("Opcode found in operand field: {:#?}", t); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `error` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:66:21 [INFO] [stdout] | [INFO] [stdout] 66 | error!("No value found for {:?}", name); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `error` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:70:17 [INFO] [stdout] | [INFO] [stdout] 70 | error!("Opcode found in operand field: {:#?}", t); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `SymbolTable` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:21:38 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn to_bytes(&self, symbols: &SymbolTable) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 | use crate::assembler::SymbolTable; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `SymbolTable` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:48:68 [INFO] [stdout] | [INFO] [stdout] 48 | fn extract_operand(t: &Token, results: &mut Vec, symbols: &SymbolTable) { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 | use crate::assembler::SymbolTable; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `LittleEndian` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:55:33 [INFO] [stdout] | [INFO] [stdout] 55 | wtr.write_i16::(*value as i16).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 | use byteorder::LittleEndian; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `LittleEndian` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:62:37 [INFO] [stdout] | [INFO] [stdout] 62 | wtr.write_u32::(value).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 | use byteorder::LittleEndian; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/assembler/instruction_parsers.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | /// Will try to parse out any of the Instruction forms [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/assembler/operand_parsers.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | /// Parser for integer numbers, which we preface with `#` in our assembly language: [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/assembler/operand_parsers.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | /// #100 [INFO] [stdout] | ^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/assembler/label_parsers.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | /// Looks for a user-defined label, such as `label1:` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/assembler/label_parsers.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | /// Looks for a user-defined label, such as `label1:` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arg`, `SubCommand` [INFO] [stdout] --> src/main.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | use clap::{Arg, App, SubCommand}; [INFO] [stdout] | ^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `integer_operand` [INFO] [stdout] --> src/assembler/instruction_parsers.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::assembler::operand_parsers::{integer_operand, operand}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::assembler::register_parsers::register` [INFO] [stdout] --> src/assembler/instruction_parsers.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::assembler::register_parsers::register; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::multispace` [INFO] [stdout] --> src/assembler/instruction_parsers.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use nom::multispace; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::num::ParseIntError` [INFO] [stdout] --> src/repl/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::num::ParseIntError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `PIE_HEADER_LENGTH` [INFO] [stdout] --> src/vm.rs:2:24 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::assembler::{PIE_HEADER_LENGTH, PIE_HEADER_PREFIX}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `SymbolTable` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:21:38 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn to_bytes(&self, symbols: &SymbolTable) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 | use crate::assembler::SymbolTable; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `SymbolTable` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:48:68 [INFO] [stdout] | [INFO] [stdout] 48 | fn extract_operand(t: &Token, results: &mut Vec, symbols: &SymbolTable) { [INFO] [stdout] | ^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 1 | use crate::assembler::SymbolTable; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `LittleEndian` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:55:33 [INFO] [stdout] | [INFO] [stdout] 55 | wtr.write_i16::(*value as i16).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 | use byteorder::LittleEndian; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `LittleEndian` in this scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:62:37 [INFO] [stdout] | [INFO] [stdout] 62 | wtr.write_u32::(value).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this enum [INFO] [stdout] | [INFO] [stdout] 1 | use byteorder::LittleEndian; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/assembler/instruction_parsers.rs:96:1 [INFO] [stdout] | [INFO] [stdout] 96 | /// Will try to parse out any of the Instruction forms [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/assembler/operand_parsers.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | /// Parser for integer numbers, which we preface with `#` in our assembly language: [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/assembler/operand_parsers.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | /// #100 [INFO] [stdout] | ^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/assembler/label_parsers.rs:6:1 [INFO] [stdout] | [INFO] [stdout] 6 | /// Looks for a user-defined label, such as `label1:` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/assembler/label_parsers.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | /// Looks for a user-defined label, such as `label1:` [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arg`, `SubCommand` [INFO] [stdout] --> src/main.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 7 | use clap::{Arg, App, SubCommand}; [INFO] [stdout] | ^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `integer_operand` [INFO] [stdout] --> src/assembler/instruction_parsers.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::assembler::operand_parsers::{integer_operand, operand}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::assembler::register_parsers::register` [INFO] [stdout] --> src/assembler/instruction_parsers.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::assembler::register_parsers::register; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::multispace` [INFO] [stdout] --> src/assembler/instruction_parsers.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use nom::multispace; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::num::ParseIntError` [INFO] [stdout] --> src/repl/mod.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::num::ParseIntError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 28 | match program { [INFO] [stdout] | ------- this expression has type `std::result::Result, Vec>` [INFO] [stdout] 29 | Some(p) => { [INFO] [stdout] | ^^^^^^^ expected enum `std::result::Result`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result, Vec>` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:34:17 [INFO] [stdout] | [INFO] [stdout] 28 | match program { [INFO] [stdout] | ------- this expression has type `std::result::Result, Vec>` [INFO] [stdout] ... [INFO] [stdout] 34 | None => {} [INFO] [stdout] | ^^^^ expected enum `std::result::Result`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result, Vec>` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:29:17 [INFO] [stdout] | [INFO] [stdout] 28 | match program { [INFO] [stdout] | ------- this expression has type `std::result::Result, Vec>` [INFO] [stdout] 29 | Some(p) => { [INFO] [stdout] | ^^^^^^^ expected enum `std::result::Result`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result, Vec>` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/main.rs:34:17 [INFO] [stdout] | [INFO] [stdout] 28 | match program { [INFO] [stdout] | ------- this expression has type `std::result::Result, Vec>` [INFO] [stdout] ... [INFO] [stdout] 34 | None => {} [INFO] [stdout] | ^^^^ expected enum `std::result::Result`, found enum `Option` [INFO] [stdout] | [INFO] [stdout] = note: expected enum `std::result::Result, Vec>` [INFO] [stdout] found enum `Option<_>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `read_to_string` found for struct `File` in the current scope [INFO] [stdout] --> src/main.rs:57:22 [INFO] [stdout] | [INFO] [stdout] 57 | match fh.read_to_string(&mut contents) { [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `File` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::Read; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `SymbolTable` doesn't implement `Debug` [INFO] [stdout] --> src/assembler/mod.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub symbols: SymbolTable, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ `SymbolTable` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `SymbolTable` [INFO] [stdout] = note: add `#[derive(Debug)]` or manually implement `Debug` [INFO] [stdout] = note: required because of the requirements on the impl of `Debug` for `&SymbolTable` [INFO] [stdout] = note: required for the cast to the object type `dyn Debug` [INFO] [stdout] = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `SymbolTable: Default` is not satisfied [INFO] [stdout] --> src/assembler/mod.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub symbols: SymbolTable, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `SymbolTable` [INFO] [stdout] | [INFO] [stdout] = note: required by `std::default::Default::default` [INFO] [stdout] = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `write_pie_header` found for mutable reference `&mut Assembler` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:114:50 [INFO] [stdout] | [INFO] [stdout] 114 | let mut assembled_program = self.write_pie_header(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ method not found in `&mut Assembler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `instructions` of struct `Program` is private [INFO] [stdout] --> src/assembler/mod.rs:140:21 [INFO] [stdout] | [INFO] [stdout] 140 | for i in &p.instructions { [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_label` found for reference `&AssemblerInstruction` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:141:18 [INFO] [stdout] | [INFO] [stdout] 141 | if i.is_label() { [INFO] [stdout] | ^^^^^^^^ method not found in `&AssemblerInstruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_some` found for type `u32` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:142:45 [INFO] [stdout] | [INFO] [stdout] 142 | if self.current_instruction.is_some() { [INFO] [stdout] | ^^^^^^^ method not found in `u32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_directive` found for reference `&AssemblerInstruction` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | if i.is_directive() { [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `&AssemblerInstruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `process_directive` found for mutable reference `&mut Assembler` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:154:22 [INFO] [stdout] | [INFO] [stdout] 154 | self.process_directive(i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ method not found in `&mut Assembler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_label_name` found for reference `&AssemblerInstruction` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:165:28 [INFO] [stdout] | [INFO] [stdout] 165 | let name = match i.get_label_name() { [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `&AssemblerInstruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `has_symbol` found for struct `SymbolTable` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:175:25 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct SymbolTable { [INFO] [stdout] | ---------------------- method `has_symbol` not found for this [INFO] [stdout] ... [INFO] [stdout] 175 | if self.symbols.has_symbol(&name) { [INFO] [stdout] | ^^^^^^^^^^ help: there is an associated function with a similar name: `add_symbol` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/assembler/mod.rs:180:22 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn new(name: String, symbol_type: SymbolType, offset: u32) -> Symbol { [INFO] [stdout] | ------------------------------------------------------------------------ defined here [INFO] [stdout] ... [INFO] [stdout] 180 | let symbol = Symbol::new(name, SymbolType::Label); [INFO] [stdout] | ^^^^^^^^^^^ ---- ----------------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 3 arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `instructions` of struct `Program` is private [INFO] [stdout] --> src/assembler/mod.rs:190:21 [INFO] [stdout] | [INFO] [stdout] 190 | for i in &p.instructions { [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_opcode` found for reference `&AssemblerInstruction` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:191:18 [INFO] [stdout] | [INFO] [stdout] 191 | if i.is_opcode() { [INFO] [stdout] | ^^^^^^^^^ method not found in `&AssemblerInstruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_directive` found for reference `&AssemblerInstruction` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:196:18 [INFO] [stdout] | [INFO] [stdout] 196 | if i.is_directive() { [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `&AssemblerInstruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `process_directive` found for mutable reference `&mut Assembler` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:197:22 [INFO] [stdout] | [INFO] [stdout] 197 | self.process_directive(i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ method not found in `&mut Assembler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `read_to_string` found for struct `File` in the current scope [INFO] [stdout] --> src/main.rs:57:22 [INFO] [stdout] | [INFO] [stdout] 57 | match fh.read_to_string(&mut contents) { [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `File` [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::Read; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `write_i16` found for struct `Vec<_>` in the current scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | wtr.write_i16::(*value as i16).unwrap(); [INFO] [stdout] | ^^^^^^^^^ method not found in `Vec<_>` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/byteorder-1.3.2/src/io.rs:1188:8 [INFO] [stdout] | [INFO] [stdout] 1188 | fn write_i16(&mut self, n: i16) -> Result<()> { [INFO] [stdout] | --------- the method is available for `Box>` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use byteorder::WriteBytesExt;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `write_u32` found for struct `Vec<_>` in the current scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:62:25 [INFO] [stdout] | [INFO] [stdout] 62 | wtr.write_u32::(value).unwrap(); [INFO] [stdout] | ^^^^^^^^^ method not found in `Vec<_>` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/byteorder-1.3.2/src/io.rs:1269:8 [INFO] [stdout] | [INFO] [stdout] 1269 | fn write_u32(&mut self, n: u32) -> Result<()> { [INFO] [stdout] | --------- the method is available for `Box>` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use byteorder::WriteBytesExt;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `assembler::SymbolTable` doesn't implement `Debug` [INFO] [stdout] --> src/assembler/mod.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub symbols: SymbolTable, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ `assembler::SymbolTable` cannot be formatted using `{:?}` [INFO] [stdout] | [INFO] [stdout] = help: the trait `Debug` is not implemented for `assembler::SymbolTable` [INFO] [stdout] = note: add `#[derive(Debug)]` or manually implement `Debug` [INFO] [stdout] = note: required because of the requirements on the impl of `Debug` for `&assembler::SymbolTable` [INFO] [stdout] = note: required for the cast to the object type `dyn Debug` [INFO] [stdout] = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `assembler::SymbolTable: Default` is not satisfied [INFO] [stdout] --> src/assembler/mod.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub symbols: SymbolTable, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `assembler::SymbolTable` [INFO] [stdout] | [INFO] [stdout] = note: required by `std::default::Default::default` [INFO] [stdout] = note: this error originates in a derive macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `write_pie_header` found for mutable reference `&mut assembler::Assembler` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:114:50 [INFO] [stdout] | [INFO] [stdout] 114 | let mut assembled_program = self.write_pie_header(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ method not found in `&mut assembler::Assembler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `instructions` of struct `Program` is private [INFO] [stdout] --> src/assembler/mod.rs:140:21 [INFO] [stdout] | [INFO] [stdout] 140 | for i in &p.instructions { [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_label` found for reference `&instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:141:18 [INFO] [stdout] | [INFO] [stdout] 141 | if i.is_label() { [INFO] [stdout] | ^^^^^^^^ method not found in `&instruction_parsers::AssemblerInstruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_some` found for type `u32` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:142:45 [INFO] [stdout] | [INFO] [stdout] 142 | if self.current_instruction.is_some() { [INFO] [stdout] | ^^^^^^^ method not found in `u32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_directive` found for reference `&instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:153:18 [INFO] [stdout] | [INFO] [stdout] 153 | if i.is_directive() { [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `&instruction_parsers::AssemblerInstruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `process_directive` found for mutable reference `&mut assembler::Assembler` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:154:22 [INFO] [stdout] | [INFO] [stdout] 154 | self.process_directive(i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ method not found in `&mut assembler::Assembler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `get_label_name` found for reference `&instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:165:28 [INFO] [stdout] | [INFO] [stdout] 165 | let name = match i.get_label_name() { [INFO] [stdout] | ^^^^^^^^^^^^^^ method not found in `&instruction_parsers::AssemblerInstruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `has_symbol` found for struct `assembler::SymbolTable` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:175:25 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct SymbolTable { [INFO] [stdout] | ---------------------- method `has_symbol` not found for this [INFO] [stdout] ... [INFO] [stdout] 175 | if self.symbols.has_symbol(&name) { [INFO] [stdout] | ^^^^^^^^^^ help: there is an associated function with a similar name: `add_symbol` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0061]: this function takes 3 arguments but 2 arguments were supplied [INFO] [stdout] --> src/assembler/mod.rs:180:22 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn new(name: String, symbol_type: SymbolType, offset: u32) -> Symbol { [INFO] [stdout] | ------------------------------------------------------------------------ defined here [INFO] [stdout] ... [INFO] [stdout] 180 | let symbol = Symbol::new(name, SymbolType::Label); [INFO] [stdout] | ^^^^^^^^^^^ ---- ----------------- supplied 2 arguments [INFO] [stdout] | | [INFO] [stdout] | expected 3 arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0616]: field `instructions` of struct `Program` is private [INFO] [stdout] --> src/assembler/mod.rs:190:21 [INFO] [stdout] | [INFO] [stdout] 190 | for i in &p.instructions { [INFO] [stdout] | ^^^^^^^^^^^^ private field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_opcode` found for reference `&instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:191:18 [INFO] [stdout] | [INFO] [stdout] 191 | if i.is_opcode() { [INFO] [stdout] | ^^^^^^^^^ method not found in `&instruction_parsers::AssemblerInstruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `is_directive` found for reference `&instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:196:18 [INFO] [stdout] | [INFO] [stdout] 196 | if i.is_directive() { [INFO] [stdout] | ^^^^^^^^^^^^ method not found in `&instruction_parsers::AssemblerInstruction` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `process_directive` found for mutable reference `&mut assembler::Assembler` in the current scope [INFO] [stdout] --> src/assembler/mod.rs:197:22 [INFO] [stdout] | [INFO] [stdout] 197 | self.process_directive(i); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ method not found in `&mut assembler::Assembler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `write_i16` found for struct `Vec<_>` in the current scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:55:21 [INFO] [stdout] | [INFO] [stdout] 55 | wtr.write_i16::(*value as i16).unwrap(); [INFO] [stdout] | ^^^^^^^^^ method not found in `Vec<_>` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/byteorder-1.3.2/src/io.rs:1188:8 [INFO] [stdout] | [INFO] [stdout] 1188 | fn write_i16(&mut self, n: i16) -> Result<()> { [INFO] [stdout] | --------- the method is available for `Box>` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use byteorder::WriteBytesExt;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `write_u32` found for struct `Vec<_>` in the current scope [INFO] [stdout] --> src/assembler/instruction_parsers.rs:62:25 [INFO] [stdout] | [INFO] [stdout] 62 | wtr.write_u32::(value).unwrap(); [INFO] [stdout] | ^^^^^^^^^ method not found in `Vec<_>` [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/byteorder-1.3.2/src/io.rs:1269:8 [INFO] [stdout] | [INFO] [stdout] 1269 | fn write_u32(&mut self, n: u32) -> Result<()> { [INFO] [stdout] | --------- the method is available for `Box>` here [INFO] [stdout] | [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stdout] `use byteorder::WriteBytesExt;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 27 previous errors; 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0412, E0599, E0616. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: could not compile `iridium` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 27 previous errors; 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0412, E0599, E0616. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0061`. [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "140d52a08387b3cd7674d40f08905656958a4efbe1fa267beeca7f5fa4e009e4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "140d52a08387b3cd7674d40f08905656958a4efbe1fa267beeca7f5fa4e009e4", kill_on_drop: false }` [INFO] [stdout] 140d52a08387b3cd7674d40f08905656958a4efbe1fa267beeca7f5fa4e009e4