[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] testing bradford-hamilton/iridium against beta-2023-04-20 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbradford-hamilton%2Firidium" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/bradford-hamilton/iridium on toolchain beta-2023-04-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", 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-5-tc2/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: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6bf060f49ebfbc182b03e7b78cad0a5c000ec1fc05b7f62e77a5b562d58a836c
[INFO] running `Command { std: "docker" "start" "-a" "6bf060f49ebfbc182b03e7b78cad0a5c000ec1fc05b7f62e77a5b562d58a836c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6bf060f49ebfbc182b03e7b78cad0a5c000ec1fc05b7f62e77a5b562d58a836c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6bf060f49ebfbc182b03e7b78cad0a5c000ec1fc05b7f62e77a5b562d58a836c", kill_on_drop: false }`
[INFO] [stdout] 6bf060f49ebfbc182b03e7b78cad0a5c000ec1fc05b7f62e77a5b562d58a836c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] edea296e0cc8ea6d218686ee1c96f8eeaf491cf66149a4a2c9194ed63737b9df
[INFO] running `Command { std: "docker" "start" "-a" "edea296e0cc8ea6d218686ee1c96f8eeaf491cf66149a4a2c9194ed63737b9df", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.2.1
[INFO] [stderr]    Compiling libc v0.2.65
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling quick-error v1.2.2
[INFO] [stderr]    Compiling byteorder v1.3.2
[INFO] [stderr]    Compiling unicode-width v0.1.6
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling regex-syntax v0.6.12
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling vec_map v0.8.1
[INFO] [stderr]    Compiling yaml-rust v0.3.5
[INFO] [stderr]    Compiling termcolor v1.0.5
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling thread_local v0.3.6
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling nom v4.2.3
[INFO] [stderr]    Compiling aho-corasick v0.7.6
[INFO] [stderr]    Compiling atty v0.2.13
[INFO] [stderr]    Compiling clap v2.33.0
[INFO] [stderr]    Compiling regex v1.3.1
[INFO] [stderr]    Compiling env_logger v0.5.13
[INFO] [stderr]    Compiling 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: 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]    = help: consider importing this macro:
[INFO] [stdout]            log::error
[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]    = help: consider importing this macro:
[INFO] [stdout]            log::error
[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<u8> {
[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<u8>, 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::<LittleEndian>(*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::<LittleEndian>(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 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 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]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` 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 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] 7 | | /// #100
[INFO] [stdout]   | |_-------^
[INFO] [stdout]   |   |
[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 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[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::<LittleEndian>(*value as i16).unwrap();
[INFO] [stdout]      |                     ^^^^^^^^^ method not found in `Vec<_>`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/byteorder-1.3.2/src/io.rs:1188:8
[INFO] [stdout]      |
[INFO] [stdout] 1188 |     fn write_i16<T: ByteOrder>(&mut self, n: i16) -> Result<()> {
[INFO] [stdout]      |        --------- the method is available for `Vec<_>` here
[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] 1    + use byteorder::WriteBytesExt;
[INFO] [stdout]      |
[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::<LittleEndian>(value).unwrap();
[INFO] [stdout]      |                         ^^^^^^^^^ method not found in `Vec<_>`
[INFO] [stdout]      |
[INFO] [stdout]     ::: /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/byteorder-1.3.2/src/io.rs:1269:8
[INFO] [stdout]      |
[INFO] [stdout] 1269 |     fn write_u32<T: ByteOrder>(&mut self, n: u32) -> Result<()> {
[INFO] [stdout]      |        --------- the method is available for `Vec<_>` here
[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] 1    + use byteorder::WriteBytesExt;
[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] 74 | #[derive(Debug, Default)]
[INFO] [stdout]    |          ----- in this derive macro expansion
[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)]` to `SymbolTable` or manually `impl Debug for SymbolTable`
[INFO] [stdout]    = note: this error originates in the derive macro `Debug` (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] 74 | #[derive(Debug, Default)]
[INFO] [stdout]    |                 ------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub symbols: SymbolTable,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Default` is not implemented for `SymbolTable`
[INFO] [stdout]    |
[INFO] [stdout]    = note: this error originates in the derive macro `Default` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: consider annotating `SymbolTable` with `#[derive(Default)]`
[INFO] [stdout]    |
[INFO] [stdout] 51 + #[derive(Default)]
[INFO] [stdout] 52 | pub struct SymbolTable {
[INFO] [stdout]    |
[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_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 `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 struct
[INFO] [stdout] ...
[INFO] [stdout] 175 |         if self.symbols.has_symbol(&name) {
[INFO] [stdout]     |                         ^^^^^^^^^^ help: there is a method 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] 180 |         let symbol = Symbol::new(name, SymbolType::Label);
[INFO] [stdout]     |                      ^^^^^^^^^^^------------------------- an argument of type `u32` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/assembler/mod.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout] 38  |     pub fn new(name: String, symbol_type: SymbolType, offset: u32) -> Symbol {
[INFO] [stdout]     |            ^^^ ------------  -----------------------  -----------
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let symbol = Symbol::new(name, SymbolType::Label, /* u32 */);
[INFO] [stdout]     |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[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 `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[E0308]: mismatched types
[INFO] [stdout]   --> src/main.rs:29:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |             match program {
[INFO] [stdout]    |                   ------- this expression has type `Result<Vec<u8>, Vec<AssemblerError>>`
[INFO] [stdout] 29 |                 Some(p) => {
[INFO] [stdout]    |                 ^^^^^^^ expected `Result<Vec<u8>, Vec<...>>`, found `Option<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Result<Vec<u8>, Vec<AssemblerError>>`
[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 `Result<Vec<u8>, Vec<AssemblerError>>`
[INFO] [stdout] ...
[INFO] [stdout] 34 |                 None => {}
[INFO] [stdout]    |                 ^^^^ expected `Result<Vec<u8>, Vec<...>>`, found `Option<_>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `Result<Vec<u8>, Vec<AssemblerError>>`
[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]   --> /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/io/mod.rs:754:8
[INFO] [stdout]    |
[INFO] [stdout]    = note: the method is available for `File` here
[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] 1  + use std::io::Read;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 23 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: could not compile `iridium` (bin "iridium") due to 24 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "edea296e0cc8ea6d218686ee1c96f8eeaf491cf66149a4a2c9194ed63737b9df", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "edea296e0cc8ea6d218686ee1c96f8eeaf491cf66149a4a2c9194ed63737b9df", kill_on_drop: false }`
[INFO] [stdout] edea296e0cc8ea6d218686ee1c96f8eeaf491cf66149a4a2c9194ed63737b9df
