[INFO] cloning repository https://github.com/bradford-hamilton/iridium [INFO] running `"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"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbradford-hamilton%2Firidium'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 0686e16b27a31138a1e8c29bbd352c6c70d50515 [INFO] checking bradford-hamilton/iridium against try#1a608893c03d7722effeb0058e82770bd36b4b3c for pr-66504-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbradford-hamilton%2Firidium" "/workspace/builds/worker-3/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/bradford-hamilton/iridium on toolchain 1a608893c03d7722effeb0058e82770bd36b4b3c [INFO] running `"/workspace/cargo-home/bin/cargo" "+1a608893c03d7722effeb0058e82770bd36b4b3c" "read-manifest" "--manifest-path" "Cargo.toml"` [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-3/source/Cargo.toml [INFO] crate git repo https://github.com/bradford-hamilton/iridium already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+1a608893c03d7722effeb0058e82770bd36b4b3c" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+1a608893c03d7722effeb0058e82770bd36b4b3c" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 47e3fea98000cd9a987122770e2c7b8faaa4f2022d957977404fdc5a75b2f04d [INFO] running `"docker" "start" "-a" "47e3fea98000cd9a987122770e2c7b8faaa4f2022d957977404fdc5a75b2f04d"` [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] [stderr] error: expected type, found `{` [INFO] [stderr] --> src/assembler/mod.rs:207:64 [INFO] [stderr] | [INFO] [stderr] 207 | fn process_section_header(&mut self, header_name: &str) -> { [INFO] [stderr] | ^ expected type [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/assembler/instruction_parsers.rs:96:1 [INFO] [stderr] | [INFO] [stderr] 96 | /// Will try to parse out any of the Instruction forms [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 97 | / named!(pub instruction, [INFO] [stderr] 98 | | do_parse!( [INFO] [stderr] 99 | | ins: alt!( [INFO] [stderr] 100 | | instruction_combined [INFO] [stderr] ... | [INFO] [stderr] 105 | | ) [INFO] [stderr] 106 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/assembler/operand_parsers.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | / /// Parser for integer numbers, which we preface with `#` in our assembly language: [INFO] [stderr] 7 | | /// #100 [INFO] [stderr] | |________^ [INFO] [stderr] 8 | / named!(pub integer_operand, [INFO] [stderr] 9 | | ws!( [INFO] [stderr] 10 | | do_parse!( [INFO] [stderr] 11 | | tag!("#") >> [INFO] [stderr] ... | [INFO] [stderr] 17 | | ) [INFO] [stderr] 18 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/assembler/label_parsers.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | /// Looks for a user-defined label, such as `label1:` [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | / named!(pub label_declaration, [INFO] [stderr] 8 | | ws!( [INFO] [stderr] 9 | | do_parse!( [INFO] [stderr] 10 | | name: alphanumeric >> [INFO] [stderr] ... | [INFO] [stderr] 17 | | ) [INFO] [stderr] 18 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/assembler/label_parsers.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | /// Looks for a user-defined label, such as `label1:` [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 21 | / named!(pub label_usage, [INFO] [stderr] 22 | | ws!( [INFO] [stderr] 23 | | do_parse!( [INFO] [stderr] 24 | | tag!("@") >> [INFO] [stderr] ... | [INFO] [stderr] 31 | | ) [INFO] [stderr] 32 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] error: expected type, found `{` [INFO] [stderr] --> src/assembler/mod.rs:207:64 [INFO] [stderr] | [INFO] [stderr] 207 | fn process_section_header(&mut self, header_name: &str) -> { [INFO] [stderr] | ^ expected type [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/assembler/instruction_parsers.rs:96:1 [INFO] [stderr] | [INFO] [stderr] 96 | /// Will try to parse out any of the Instruction forms [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 97 | / named!(pub instruction, [INFO] [stderr] 98 | | do_parse!( [INFO] [stderr] 99 | | ins: alt!( [INFO] [stderr] 100 | | instruction_combined [INFO] [stderr] ... | [INFO] [stderr] 105 | | ) [INFO] [stderr] 106 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/assembler/operand_parsers.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | / /// Parser for integer numbers, which we preface with `#` in our assembly language: [INFO] [stderr] 7 | | /// #100 [INFO] [stderr] | |________^ [INFO] [stderr] 8 | / named!(pub integer_operand, [INFO] [stderr] 9 | | ws!( [INFO] [stderr] 10 | | do_parse!( [INFO] [stderr] 11 | | tag!("#") >> [INFO] [stderr] ... | [INFO] [stderr] 17 | | ) [INFO] [stderr] 18 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/assembler/label_parsers.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | /// Looks for a user-defined label, such as `label1:` [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 7 | / named!(pub label_declaration, [INFO] [stderr] 8 | | ws!( [INFO] [stderr] 9 | | do_parse!( [INFO] [stderr] 10 | | name: alphanumeric >> [INFO] [stderr] ... | [INFO] [stderr] 17 | | ) [INFO] [stderr] 18 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/assembler/label_parsers.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | /// Looks for a user-defined label, such as `label1:` [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 21 | / named!(pub label_usage, [INFO] [stderr] 22 | | ws!( [INFO] [stderr] 23 | | do_parse!( [INFO] [stderr] 24 | | tag!("@") >> [INFO] [stderr] ... | [INFO] [stderr] 31 | | ) [INFO] [stderr] 32 | | ); [INFO] [stderr] | |__- rustdoc does not generate documentation for macro expansions [INFO] [stderr] | [INFO] [stderr] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stderr] [INFO] [stderr] error: cannot find macro `error` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:66:21 [INFO] [stderr] | [INFO] [stderr] 66 | error!("No value found for {:?}", name); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `error` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:70:17 [INFO] [stderr] | [INFO] [stderr] 70 | error!("Opcode found in operand field: {:#?}", t); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SymbolTable` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:21:38 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn to_bytes(&self, symbols: &SymbolTable) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use crate::assembler::SymbolTable; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SymbolTable` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:48:68 [INFO] [stderr] | [INFO] [stderr] 48 | fn extract_operand(t: &Token, results: &mut Vec, symbols: &SymbolTable) { [INFO] [stderr] | ^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use crate::assembler::SymbolTable; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `LittleEndian` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:55:33 [INFO] [stderr] | [INFO] [stderr] 55 | wtr.write_i16::(*value as i16).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use byteorder::LittleEndian; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `LittleEndian` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:62:37 [INFO] [stderr] | [INFO] [stderr] 62 | wtr.write_u32::(value).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use byteorder::LittleEndian; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: cannot find macro `error` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:66:21 [INFO] [stderr] | [INFO] [stderr] 66 | error!("No value found for {:?}", name); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] error: cannot find macro `error` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:70:17 [INFO] [stderr] | [INFO] [stderr] 70 | error!("Opcode found in operand field: {:#?}", t); [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arg`, `SubCommand` [INFO] [stderr] --> src/main.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | use clap::{Arg, App, SubCommand}; [INFO] [stderr] | ^^^ ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `integer_operand` [INFO] [stderr] --> src/assembler/instruction_parsers.rs:2:41 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::assembler::operand_parsers::{integer_operand, operand}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::assembler::register_parsers::register` [INFO] [stderr] --> src/assembler/instruction_parsers.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::assembler::register_parsers::register; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `nom::multispace` [INFO] [stderr] --> src/assembler/instruction_parsers.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use nom::multispace; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::num::ParseIntError` [INFO] [stderr] --> src/repl/mod.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::num::ParseIntError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PIE_HEADER_LENGTH` [INFO] [stderr] --> src/vm.rs:2:24 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::assembler::{PIE_HEADER_LENGTH, PIE_HEADER_PREFIX}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/main.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 28 | match program { [INFO] [stderr] | ------- this match expression has type `std::result::Result, std::vec::Vec>` [INFO] [stderr] 29 | Some(p) => { [INFO] [stderr] | ^^^^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `std::result::Result, std::vec::Vec>` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/main.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | None => {} [INFO] [stderr] | ^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `std::result::Result, std::vec::Vec>` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read_to_string` found for type `std::fs::File` in the current scope [INFO] [stderr] --> src/main.rs:57:22 [INFO] [stderr] | [INFO] [stderr] 57 | match fh.read_to_string(&mut contents) { [INFO] [stderr] | ^^^^^^^^^^^^^^ method not found in `std::fs::File` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::Read; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0277]: `assembler::SymbolTable` doesn't implement `std::fmt::Debug` [INFO] [stderr] --> src/assembler/mod.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | pub symbols: SymbolTable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ `assembler::SymbolTable` cannot be formatted using `{:?}` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Debug` is not implemented for `assembler::SymbolTable` [INFO] [stderr] = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug` [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Debug` for `&assembler::SymbolTable` [INFO] [stderr] = note: required for the cast to the object type `dyn std::fmt::Debug` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `assembler::SymbolTable: std::default::Default` is not satisfied [INFO] [stderr] --> src/assembler/mod.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | pub symbols: SymbolTable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `assembler::SymbolTable` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `write_pie_header` found for type `&mut assembler::Assembler` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:114:50 [INFO] [stderr] | [INFO] [stderr] 114 | let mut assembled_program = self.write_pie_header(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ method not found in `&mut assembler::Assembler` [INFO] [stderr] [INFO] [stderr] error[E0616]: field `instructions` of struct `assembler::program_parsers::Program` is private [INFO] [stderr] --> src/assembler/mod.rs:140:19 [INFO] [stderr] | [INFO] [stderr] 140 | for i in &p.instructions { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_label` found for type `&assembler::instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:141:18 [INFO] [stderr] | [INFO] [stderr] 141 | if i.is_label() { [INFO] [stderr] | ^^^^^^^^ method not found in `&assembler::instruction_parsers::AssemblerInstruction` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_some` found for type `u32` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:142:45 [INFO] [stderr] | [INFO] [stderr] 142 | if self.current_instruction.is_some() { [INFO] [stderr] | ^^^^^^^ method not found in `u32` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_directive` found for type `&assembler::instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:153:18 [INFO] [stderr] | [INFO] [stderr] 153 | if i.is_directive() { [INFO] [stderr] | ^^^^^^^^^^^^ method not found in `&assembler::instruction_parsers::AssemblerInstruction` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `process_directive` found for type `&mut assembler::Assembler` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:154:22 [INFO] [stderr] | [INFO] [stderr] 154 | self.process_directive(i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ method not found in `&mut assembler::Assembler` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_label_name` found for type `&assembler::instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:165:28 [INFO] [stderr] | [INFO] [stderr] 165 | let name = match i.get_label_name() { [INFO] [stderr] | ^^^^^^^^^^^^^^ method not found in `&assembler::instruction_parsers::AssemblerInstruction` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `has_symbol` found for type `assembler::SymbolTable` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:175:25 [INFO] [stderr] | [INFO] [stderr] 51 | pub struct SymbolTable { [INFO] [stderr] | ---------------------- method `has_symbol` not found for this [INFO] [stderr] ... [INFO] [stderr] 175 | if self.symbols.has_symbol(&name) { [INFO] [stderr] | ^^^^^^^^^^ help: there is a method with a similar name: `add_symbol` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 3 parameters but 2 parameters were supplied [INFO] [stderr] --> src/assembler/mod.rs:180:22 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn new(name: String, symbol_type: SymbolType, offset: u32) -> Symbol { [INFO] [stderr] | ------------------------------------------------------------------------ defined here [INFO] [stderr] ... [INFO] [stderr] 180 | let symbol = Symbol::new(name, SymbolType::Label); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 3 parameters [INFO] [stderr] [INFO] [stderr] error[E0616]: field `instructions` of struct `assembler::program_parsers::Program` is private [INFO] [stderr] --> src/assembler/mod.rs:190:19 [INFO] [stderr] | [INFO] [stderr] 190 | for i in &p.instructions { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_opcode` found for type `&assembler::instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:191:18 [INFO] [stderr] | [INFO] [stderr] 191 | if i.is_opcode() { [INFO] [stderr] | ^^^^^^^^^ method not found in `&assembler::instruction_parsers::AssemblerInstruction` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_directive` found for type `&assembler::instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:196:18 [INFO] [stderr] | [INFO] [stderr] 196 | if i.is_directive() { [INFO] [stderr] | ^^^^^^^^^^^^ method not found in `&assembler::instruction_parsers::AssemblerInstruction` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `process_directive` found for type `&mut assembler::Assembler` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:197:22 [INFO] [stderr] | [INFO] [stderr] 197 | self.process_directive(i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ method not found in `&mut assembler::Assembler` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `write_i16` found for type `std::vec::Vec<_>` in the current scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:55:21 [INFO] [stderr] | [INFO] [stderr] 55 | wtr.write_i16::(*value as i16).unwrap(); [INFO] [stderr] | ^^^^^^^^^ method not found in `std::vec::Vec<_>` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] `use byteorder::WriteBytesExt;` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `write_u32` found for type `std::vec::Vec<_>` in the current scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:62:25 [INFO] [stderr] | [INFO] [stderr] 62 | wtr.write_u32::(value).unwrap(); [INFO] [stderr] | ^^^^^^^^^ method not found in `std::vec::Vec<_>` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] `use byteorder::WriteBytesExt;` [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SymbolTable` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:21:38 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn to_bytes(&self, symbols: &SymbolTable) -> Vec { [INFO] [stderr] | ^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use crate::assembler::SymbolTable; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SymbolTable` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:48:68 [INFO] [stderr] | [INFO] [stderr] 48 | fn extract_operand(t: &Token, results: &mut Vec, symbols: &SymbolTable) { [INFO] [stderr] | ^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use crate::assembler::SymbolTable; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `LittleEndian` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:55:33 [INFO] [stderr] | [INFO] [stderr] 55 | wtr.write_i16::(*value as i16).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use byteorder::LittleEndian; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `LittleEndian` in this scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:62:37 [INFO] [stderr] | [INFO] [stderr] 62 | wtr.write_u32::(value).unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^ not found in this scope [INFO] [stderr] | [INFO] [stderr] help: possible candidate is found in another module, you can import it into scope [INFO] [stderr] | [INFO] [stderr] 1 | use byteorder::LittleEndian; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arg`, `SubCommand` [INFO] [stderr] --> src/main.rs:7:12 [INFO] [stderr] | [INFO] [stderr] 7 | use clap::{Arg, App, SubCommand}; [INFO] [stderr] | ^^^ ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `integer_operand` [INFO] [stderr] --> src/assembler/instruction_parsers.rs:2:41 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::assembler::operand_parsers::{integer_operand, operand}; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::assembler::register_parsers::register` [INFO] [stderr] --> src/assembler/instruction_parsers.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::assembler::register_parsers::register; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `nom::multispace` [INFO] [stderr] --> src/assembler/instruction_parsers.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use nom::multispace; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::num::ParseIntError` [INFO] [stderr] --> src/repl/mod.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use std::num::ParseIntError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error: aborting due to 27 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0277, E0308, E0412, E0599, E0616. [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error: could not compile `iridium`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/main.rs:29:17 [INFO] [stderr] | [INFO] [stderr] 28 | match program { [INFO] [stderr] | ------- this match expression has type `std::result::Result, std::vec::Vec>` [INFO] [stderr] 29 | Some(p) => { [INFO] [stderr] | ^^^^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `std::result::Result, std::vec::Vec>` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/main.rs:34:17 [INFO] [stderr] | [INFO] [stderr] 34 | None => {} [INFO] [stderr] | ^^^^ expected enum `std::result::Result`, found enum `std::option::Option` [INFO] [stderr] | [INFO] [stderr] = note: expected enum `std::result::Result, std::vec::Vec>` [INFO] [stderr] found enum `std::option::Option<_>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `read_to_string` found for type `std::fs::File` in the current scope [INFO] [stderr] --> src/main.rs:57:22 [INFO] [stderr] | [INFO] [stderr] 57 | match fh.read_to_string(&mut contents) { [INFO] [stderr] | ^^^^^^^^^^^^^^ method not found in `std::fs::File` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] help: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::Read; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error[E0277]: `assembler::SymbolTable` doesn't implement `std::fmt::Debug` [INFO] [stderr] --> src/assembler/mod.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | pub symbols: SymbolTable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ `assembler::SymbolTable` cannot be formatted using `{:?}` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::fmt::Debug` is not implemented for `assembler::SymbolTable` [INFO] [stderr] = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug` [INFO] [stderr] = note: required because of the requirements on the impl of `std::fmt::Debug` for `&assembler::SymbolTable` [INFO] [stderr] = note: required for the cast to the object type `dyn std::fmt::Debug` [INFO] [stderr] [INFO] [stderr] error[E0277]: the trait bound `assembler::SymbolTable: std::default::Default` is not satisfied [INFO] [stderr] --> src/assembler/mod.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | pub symbols: SymbolTable, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `assembler::SymbolTable` [INFO] [stderr] | [INFO] [stderr] = note: required by `std::default::Default::default` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `write_pie_header` found for type `&mut assembler::Assembler` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:114:50 [INFO] [stderr] | [INFO] [stderr] 114 | let mut assembled_program = self.write_pie_header(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ method not found in `&mut assembler::Assembler` [INFO] [stderr] [INFO] [stderr] error[E0616]: field `instructions` of struct `assembler::program_parsers::Program` is private [INFO] [stderr] --> src/assembler/mod.rs:140:19 [INFO] [stderr] | [INFO] [stderr] 140 | for i in &p.instructions { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_label` found for type `&assembler::instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:141:18 [INFO] [stderr] | [INFO] [stderr] 141 | if i.is_label() { [INFO] [stderr] | ^^^^^^^^ method not found in `&assembler::instruction_parsers::AssemblerInstruction` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_some` found for type `u32` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:142:45 [INFO] [stderr] | [INFO] [stderr] 142 | if self.current_instruction.is_some() { [INFO] [stderr] | ^^^^^^^ method not found in `u32` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_directive` found for type `&assembler::instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:153:18 [INFO] [stderr] | [INFO] [stderr] 153 | if i.is_directive() { [INFO] [stderr] | ^^^^^^^^^^^^ method not found in `&assembler::instruction_parsers::AssemblerInstruction` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `process_directive` found for type `&mut assembler::Assembler` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:154:22 [INFO] [stderr] | [INFO] [stderr] 154 | self.process_directive(i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ method not found in `&mut assembler::Assembler` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `get_label_name` found for type `&assembler::instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:165:28 [INFO] [stderr] | [INFO] [stderr] 165 | let name = match i.get_label_name() { [INFO] [stderr] | ^^^^^^^^^^^^^^ method not found in `&assembler::instruction_parsers::AssemblerInstruction` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `has_symbol` found for type `assembler::SymbolTable` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:175:25 [INFO] [stderr] | [INFO] [stderr] 51 | pub struct SymbolTable { [INFO] [stderr] | ---------------------- method `has_symbol` not found for this [INFO] [stderr] ... [INFO] [stderr] 175 | if self.symbols.has_symbol(&name) { [INFO] [stderr] | ^^^^^^^^^^ help: there is a method with a similar name: `add_symbol` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 3 parameters but 2 parameters were supplied [INFO] [stderr] --> src/assembler/mod.rs:180:22 [INFO] [stderr] | [INFO] [stderr] 38 | pub fn new(name: String, symbol_type: SymbolType, offset: u32) -> Symbol { [INFO] [stderr] | ------------------------------------------------------------------------ defined here [INFO] [stderr] ... [INFO] [stderr] 180 | let symbol = Symbol::new(name, SymbolType::Label); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 3 parameters [INFO] [stderr] [INFO] [stderr] error[E0616]: field `instructions` of struct `assembler::program_parsers::Program` is private [INFO] [stderr] --> src/assembler/mod.rs:190:19 [INFO] [stderr] | [INFO] [stderr] 190 | for i in &p.instructions { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_opcode` found for type `&assembler::instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:191:18 [INFO] [stderr] | [INFO] [stderr] 191 | if i.is_opcode() { [INFO] [stderr] | ^^^^^^^^^ method not found in `&assembler::instruction_parsers::AssemblerInstruction` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `is_directive` found for type `&assembler::instruction_parsers::AssemblerInstruction` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:196:18 [INFO] [stderr] | [INFO] [stderr] 196 | if i.is_directive() { [INFO] [stderr] | ^^^^^^^^^^^^ method not found in `&assembler::instruction_parsers::AssemblerInstruction` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `process_directive` found for type `&mut assembler::Assembler` in the current scope [INFO] [stderr] --> src/assembler/mod.rs:197:22 [INFO] [stderr] | [INFO] [stderr] 197 | self.process_directive(i); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ method not found in `&mut assembler::Assembler` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `write_i16` found for type `std::vec::Vec<_>` in the current scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:55:21 [INFO] [stderr] | [INFO] [stderr] 55 | wtr.write_i16::(*value as i16).unwrap(); [INFO] [stderr] | ^^^^^^^^^ method not found in `std::vec::Vec<_>` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] `use byteorder::WriteBytesExt;` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `write_u32` found for type `std::vec::Vec<_>` in the current scope [INFO] [stderr] --> src/assembler/instruction_parsers.rs:62:25 [INFO] [stderr] | [INFO] [stderr] 62 | wtr.write_u32::(value).unwrap(); [INFO] [stderr] | ^^^^^^^^^ method not found in `std::vec::Vec<_>` [INFO] [stderr] | [INFO] [stderr] = help: items from traits can only be used if the trait is in scope [INFO] [stderr] = note: the following trait is implemented but not in scope; perhaps add a `use` for it: [INFO] [stderr] `use byteorder::WriteBytesExt;` [INFO] [stderr] [INFO] [stderr] error: aborting due to 27 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0277, E0308, E0412, E0599, E0616. [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error: could not compile `iridium`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "47e3fea98000cd9a987122770e2c7b8faaa4f2022d957977404fdc5a75b2f04d"` [INFO] running `"docker" "rm" "-f" "47e3fea98000cd9a987122770e2c7b8faaa4f2022d957977404fdc5a75b2f04d"` [INFO] [stdout] 47e3fea98000cd9a987122770e2c7b8faaa4f2022d957977404fdc5a75b2f04d