[INFO] cloning repository https://github.com/jquesnelle/ironnes [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jquesnelle/ironnes" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjquesnelle%2Fironnes", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjquesnelle%2Fironnes'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 37ef230fa4c239be9e437ccdfae1f7891295f87e [INFO] checking jquesnelle/ironnes against master#8c32e313cccf7df531e2d49ffb8227bb92304aee for pr-145608-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjquesnelle%2Fironnes" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/jquesnelle/ironnes [INFO] finished tweaking git repo https://github.com/jquesnelle/ironnes [INFO] tweaked toml for git repo https://github.com/jquesnelle/ironnes written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/jquesnelle/ironnes on toolchain 8c32e313cccf7df531e2d49ffb8227bb92304aee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/jquesnelle/ironnes 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" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ca042f442f2f36b32bce83b64fdeba10b9a9eb1a06c8f4ce2a1d0fce783324d4 [INFO] running `Command { std: "docker" "start" "-a" "ca042f442f2f36b32bce83b64fdeba10b9a9eb1a06c8f4ce2a1d0fce783324d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ca042f442f2f36b32bce83b64fdeba10b9a9eb1a06c8f4ce2a1d0fce783324d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ca042f442f2f36b32bce83b64fdeba10b9a9eb1a06c8f4ce2a1d0fce783324d4", kill_on_drop: false }` [INFO] [stdout] ca042f442f2f36b32bce83b64fdeba10b9a9eb1a06c8f4ce2a1d0fce783324d4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1b678a19f6001e51fe171b6e4ed4277fe43add2cc37633bbf0437ac2e8074602 [INFO] running `Command { std: "docker" "start" "-a" "1b678a19f6001e51fe171b6e4ed4277fe43add2cc37633bbf0437ac2e8074602", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Checking ironnes v0.0.1 (/opt/rustwide/workdir) [INFO] [stdout] error: expected `;` or `]`, found `,` [INFO] [stdout] --> src/rom/mod.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | pub header: [u8, ..16], [INFO] [stdout] | ^ expected `;` or `]` [INFO] [stdout] | [INFO] [stdout] = note: you might have meant to write a slice or array type [INFO] [stdout] help: you might have meant to use `;` as the separator [INFO] [stdout] | [INFO] [stdout] 24 - pub header: [u8, ..16], [INFO] [stdout] 24 + pub header: [u8; ..16], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;` or `]`, found `,` [INFO] [stdout] --> src/rom/mod.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub trainer: [u8, ..512], [INFO] [stdout] | ^ expected `;` or `]` [INFO] [stdout] | [INFO] [stdout] = note: you might have meant to write a slice or array type [INFO] [stdout] help: you might have meant to use `;` as the separator [INFO] [stdout] | [INFO] [stdout] 25 - pub trainer: [u8, ..512], [INFO] [stdout] 25 + pub trainer: [u8; ..512], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;` or `]`, found `,` [INFO] [stdout] --> src/rom/mod.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 28 | pub pc_inst: [u8, ..8192], [INFO] [stdout] | ^ expected `;` or `]` [INFO] [stdout] | [INFO] [stdout] = note: you might have meant to write a slice or array type [INFO] [stdout] help: you might have meant to use `;` as the separator [INFO] [stdout] | [INFO] [stdout] 28 - pub pc_inst: [u8, ..8192], [INFO] [stdout] 28 + pub pc_inst: [u8; ..8192], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;` or `]`, found `,` [INFO] [stdout] --> src/rom/mod.rs:29:19 [INFO] [stdout] | [INFO] [stdout] 29 | pub pc_prom: [u8, ..32], [INFO] [stdout] | ^ expected `;` or `]` [INFO] [stdout] | [INFO] [stdout] = note: you might have meant to write a slice or array type [INFO] [stdout] help: you might have meant to use `;` as the separator [INFO] [stdout] | [INFO] [stdout] 29 - pub pc_prom: [u8, ..32], [INFO] [stdout] 29 + pub pc_prom: [u8; ..32], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/board/mod.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | 0 => box Nrom::new(None::, rom_ref), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 39 - 0 => box Nrom::new(None::, rom_ref), [INFO] [stdout] 39 + 0 => Box::new(Nrom::new(None::, rom_ref)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `$emu:expr` is followed by `$arg:tt`, which is not allowed for `expr` fragments [INFO] [stdout] --> src/lib.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | ($emu:expr $($arg:tt)*) => ( [INFO] [stdout] | ^^^^^^^ not allowed after `expr` fragments [INFO] [stdout] | [INFO] [stdout] = note: allowed there are: `=>`, `,` or `;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `$emu:expr` is followed by `$arg:tt`, which is not allowed for `expr` fragments [INFO] [stdout] --> src/lib.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | ($emu:expr $($arg:tt)*) => ( [INFO] [stdout] | ^^^^^^^ not allowed after `expr` fragments [INFO] [stdout] | [INFO] [stdout] = note: allowed there are: `=>`, `,` or `;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;` or `]`, found `,` [INFO] [stdout] --> src/rom/mod.rs:24:18 [INFO] [stdout] | [INFO] [stdout] 24 | pub header: [u8, ..16], [INFO] [stdout] | ^ expected `;` or `]` [INFO] [stdout] | [INFO] [stdout] = note: you might have meant to write a slice or array type [INFO] [stdout] help: you might have meant to use `;` as the separator [INFO] [stdout] | [INFO] [stdout] 24 - pub header: [u8, ..16], [INFO] [stdout] 24 + pub header: [u8; ..16], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;` or `]`, found `,` [INFO] [stdout] --> src/rom/mod.rs:25:19 [INFO] [stdout] | [INFO] [stdout] 25 | pub trainer: [u8, ..512], [INFO] [stdout] | ^ expected `;` or `]` [INFO] [stdout] | [INFO] [stdout] = note: you might have meant to write a slice or array type [INFO] [stdout] help: you might have meant to use `;` as the separator [INFO] [stdout] | [INFO] [stdout] 25 - pub trainer: [u8, ..512], [INFO] [stdout] 25 + pub trainer: [u8; ..512], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;` or `]`, found `,` [INFO] [stdout] --> src/rom/mod.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 28 | pub pc_inst: [u8, ..8192], [INFO] [stdout] | ^ expected `;` or `]` [INFO] [stdout] | [INFO] [stdout] = note: you might have meant to write a slice or array type [INFO] [stdout] help: you might have meant to use `;` as the separator [INFO] [stdout] | [INFO] [stdout] 28 - pub pc_inst: [u8, ..8192], [INFO] [stdout] 28 + pub pc_inst: [u8; ..8192], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected `;` or `]`, found `,` [INFO] [stdout] --> src/rom/mod.rs:29:19 [INFO] [stdout] | [INFO] [stdout] 29 | pub pc_prom: [u8, ..32], [INFO] [stdout] | ^ expected `;` or `]` [INFO] [stdout] | [INFO] [stdout] = note: you might have meant to write a slice or array type [INFO] [stdout] help: you might have meant to use `;` as the separator [INFO] [stdout] | [INFO] [stdout] 29 - pub pc_prom: [u8, ..32], [INFO] [stdout] 29 + pub pc_prom: [u8; ..32], [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `box_syntax` has been removed [INFO] [stdout] --> src/board/mod.rs:39:10 [INFO] [stdout] | [INFO] [stdout] 39 | 0 => box Nrom::new(None::, rom_ref), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: use `Box::new()` instead [INFO] [stdout] | [INFO] [stdout] 39 - 0 => box Nrom::new(None::, rom_ref), [INFO] [stdout] 39 + 0 => Box::new(Nrom::new(None::, rom_ref)), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `term` [INFO] [stdout] --> src/log/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | extern crate term; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `$emu:expr` is followed by `$arg:tt`, which is not allowed for `expr` fragments [INFO] [stdout] --> src/lib.rs:22:16 [INFO] [stdout] | [INFO] [stdout] 22 | ($emu:expr $($arg:tt)*) => ( [INFO] [stdout] | ^^^^^^^ not allowed after `expr` fragments [INFO] [stdout] | [INFO] [stdout] = note: allowed there are: `=>`, `,` or `;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: `$emu:expr` is followed by `$arg:tt`, which is not allowed for `expr` fragments [INFO] [stdout] --> src/lib.rs:29:16 [INFO] [stdout] | [INFO] [stdout] 29 | ($emu:expr $($arg:tt)*) => ( [INFO] [stdout] | ^^^^^^^ not allowed after `expr` fragments [INFO] [stdout] | [INFO] [stdout] = note: allowed there are: `=>`, `,` or `;` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0463]: can't find crate for `term` [INFO] [stdout] --> src/log/mod.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | extern crate term; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ can't find crate [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `std::io::File` [INFO] [stdout] --> src/rom/mod.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | use std::io::{File}; [INFO] [stdout] | ^^^^ no `File` in `io` [INFO] [stdout] | [INFO] [stdout] = help: consider importing this struct instead: [INFO] [stdout] std::fs::File [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `std::io::File` [INFO] [stdout] --> src/rom/mod.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | use std::io::{File}; [INFO] [stdout] | ^^^^ no `File` in `io` [INFO] [stdout] | [INFO] [stdout] = help: consider importing this struct instead: [INFO] [stdout] std::fs::File [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `log::Normal` [INFO] [stdout] --> src/emulator/mod.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | use log::{Log, Normal}; [INFO] [stdout] | ^^^^^^ no `Normal` in `log` [INFO] [stdout] | [INFO] [stdout] = help: consider importing one of these variants instead: [INFO] [stdout] std::intrinsics::mir::BasicBlock::Normal [INFO] [stdout] std::num::FpCategory::Normal [INFO] [stdout] std::path::Component::Normal [INFO] [stdout] log::Level::Normal [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0432]: unresolved import `log::Normal` [INFO] [stdout] --> src/emulator/mod.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | use log::{Log, Normal}; [INFO] [stdout] | ^^^^^^ no `Normal` in `log` [INFO] [stdout] | [INFO] [stdout] = help: consider importing one of these variants instead: [INFO] [stdout] std::intrinsics::mir::BasicBlock::Normal [INFO] [stdout] std::num::FpCategory::Normal [INFO] [stdout] std::path::Component::Normal [INFO] [stdout] log::Level::Normal [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `Error` in this scope [INFO] [stdout] --> src/log/mod.rs:33:23 [INFO] [stdout] | [INFO] [stdout] 33 | self.log(message, Error); [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 18 + use std::fmt::Error; [INFO] [stdout] | [INFO] [stdout] 18 + use std::fs::TryLockError::Error; [INFO] [stdout] | [INFO] [stdout] 18 + use log::Level::Error; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `Normal` in this scope [INFO] [stdout] --> src/log/mod.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | self.log(message, Normal); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 18 + use std::num::FpCategory::Normal; [INFO] [stdout] | [INFO] [stdout] 18 + use std::path::Component::Normal; [INFO] [stdout] | [INFO] [stdout] 18 + use log::Level::Normal; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected value, found derive macro `Debug` [INFO] [stdout] --> src/log/mod.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | self.log(message, Debug); [INFO] [stdout] | ^^^^^ not a value [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant instead [INFO] [stdout] | [INFO] [stdout] 18 + use log::Level::Debug; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/log/mod.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | if level as int <= self.log_level as int { [INFO] [stdout] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | not found in this scope [INFO] [stdout] | help: perhaps you intended to use this type: `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/log/mod.rs:45:42 [INFO] [stdout] | [INFO] [stdout] 45 | if level as int <= self.log_level as int { [INFO] [stdout] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | not found in this scope [INFO] [stdout] | help: perhaps you intended to use this type: `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Path` in this scope [INFO] [stdout] --> src/rom/mod.rs:34:22 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn load(path: &Path, emulator: &Emulator) -> Result>, String> { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 18 + use std::path::Path; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `uint` in this scope [INFO] [stdout] --> src/rom/mod.rs:68:38 [INFO] [stdout] | [INFO] [stdout] 68 | let prg_size = (rom.header[4] as uint) * 1024 * 16; [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `uint` in this scope [INFO] [stdout] --> src/rom/mod.rs:75:40 [INFO] [stdout] | [INFO] [stdout] 75 | let chr_size = (rom.header[5] as uint) * 1024 * 8; [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Path` in this scope [INFO] [stdout] --> src/emulator/mod.rs:39:37 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn load_rom(&mut self, path: &Path) -> Result<(), String> { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 18 + use std::path::Path; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0573]: expected type, found module `NROM` [INFO] [stdout] --> src/board/mod.rs:32:82 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn load_board(emulator: &Emulator, rom_ref: &Rc>) -> Result, String> { [INFO] [stdout] | ^^^^ help: a struct with a similar name exists: `Nrom` [INFO] [stdout] | [INFO] [stdout] ::: src/board/NROM.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Nrom { [INFO] [stdout] | --------------- similarly named struct `Nrom` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `board::NROM::Nrom` [INFO] [stdout] --> src/board/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use board::NROM::Nrom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: invalid suffix `i` for number literal [INFO] [stdout] --> src/rom/mod.rs:69:30 [INFO] [stdout] | [INFO] [stdout] 69 | rom.prg.grow(prg_size, &(0i as u8)); [INFO] [stdout] | ^^ invalid suffix `i` [INFO] [stdout] | [INFO] [stdout] = help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: invalid suffix `i` for number literal [INFO] [stdout] --> src/rom/mod.rs:76:32 [INFO] [stdout] | [INFO] [stdout] 76 | rom.chr.grow(chr_size, &(0i as u8)); [INFO] [stdout] | ^^ invalid suffix `i` [INFO] [stdout] | [INFO] [stdout] = help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: invalid suffix `i` for number literal [INFO] [stdout] --> src/rom/mod.rs:95:26 [INFO] [stdout] | [INFO] [stdout] 95 | name_buf.grow(128, &(0i as u8)); [INFO] [stdout] | ^^ invalid suffix `i` [INFO] [stdout] | [INFO] [stdout] = help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `macro_rules` has been stable since 1.0.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | #![feature(macro_rules)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/emulator/mod.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | board: Option> [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | board: Option> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `Error` in this scope [INFO] [stdout] --> src/log/mod.rs:33:23 [INFO] [stdout] | [INFO] [stdout] 33 | self.log(message, Error); [INFO] [stdout] | ^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 18 + use std::fmt::Error; [INFO] [stdout] | [INFO] [stdout] 18 + use std::fs::TryLockError::Error; [INFO] [stdout] | [INFO] [stdout] 18 + use log::Level::Error; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `Normal` in this scope [INFO] [stdout] --> src/log/mod.rs:37:23 [INFO] [stdout] | [INFO] [stdout] 37 | self.log(message, Normal); [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing one of these items [INFO] [stdout] | [INFO] [stdout] 18 + use std::num::FpCategory::Normal; [INFO] [stdout] | [INFO] [stdout] 18 + use std::path::Component::Normal; [INFO] [stdout] | [INFO] [stdout] 18 + use log::Level::Normal; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0423]: expected value, found derive macro `Debug` [INFO] [stdout] --> src/log/mod.rs:41:23 [INFO] [stdout] | [INFO] [stdout] 41 | self.log(message, Debug); [INFO] [stdout] | ^^^^^ not a value [INFO] [stdout] | [INFO] [stdout] help: consider importing this unit variant instead [INFO] [stdout] | [INFO] [stdout] 18 + use log::Level::Debug; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/log/mod.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | if level as int <= self.log_level as int { [INFO] [stdout] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | not found in this scope [INFO] [stdout] | help: perhaps you intended to use this type: `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `int` in this scope [INFO] [stdout] --> src/log/mod.rs:45:42 [INFO] [stdout] | [INFO] [stdout] 45 | if level as int <= self.log_level as int { [INFO] [stdout] | ^^^ [INFO] [stdout] | | [INFO] [stdout] | not found in this scope [INFO] [stdout] | help: perhaps you intended to use this type: `i32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Path` in this scope [INFO] [stdout] --> src/rom/mod.rs:34:22 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn load(path: &Path, emulator: &Emulator) -> Result>, String> { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 18 + use std::path::Path; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `uint` in this scope [INFO] [stdout] --> src/rom/mod.rs:68:38 [INFO] [stdout] | [INFO] [stdout] 68 | let prg_size = (rom.header[4] as uint) * 1024 * 16; [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `uint` in this scope [INFO] [stdout] --> src/rom/mod.rs:75:40 [INFO] [stdout] | [INFO] [stdout] 75 | let chr_size = (rom.header[5] as uint) * 1024 * 8; [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Path` in this scope [INFO] [stdout] --> src/emulator/mod.rs:39:37 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn load_rom(&mut self, path: &Path) -> Result<(), String> { [INFO] [stdout] | ^^^^ not found in this scope [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct [INFO] [stdout] | [INFO] [stdout] 18 + use std::path::Path; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0573]: expected type, found module `NROM` [INFO] [stdout] --> src/board/mod.rs:32:82 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn load_board(emulator: &Emulator, rom_ref: &Rc>) -> Result, String> { [INFO] [stdout] | ^^^^ help: a struct with a similar name exists: `Nrom` [INFO] [stdout] | [INFO] [stdout] ::: src/board/NROM.rs:23:1 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Nrom { [INFO] [stdout] | --------------- similarly named struct `Nrom` defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `board::NROM::Nrom` [INFO] [stdout] --> src/board/mod.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use board::NROM::Nrom; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: invalid suffix `i` for number literal [INFO] [stdout] --> src/rom/mod.rs:69:30 [INFO] [stdout] | [INFO] [stdout] 69 | rom.prg.grow(prg_size, &(0i as u8)); [INFO] [stdout] | ^^ invalid suffix `i` [INFO] [stdout] | [INFO] [stdout] = help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: invalid suffix `i` for number literal [INFO] [stdout] --> src/rom/mod.rs:76:32 [INFO] [stdout] | [INFO] [stdout] 76 | rom.chr.grow(chr_size, &(0i as u8)); [INFO] [stdout] | ^^ invalid suffix `i` [INFO] [stdout] | [INFO] [stdout] = help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: invalid suffix `i` for number literal [INFO] [stdout] --> src/rom/mod.rs:95:26 [INFO] [stdout] | [INFO] [stdout] 95 | name_buf.grow(128, &(0i as u8)); [INFO] [stdout] | ^^ invalid suffix `i` [INFO] [stdout] | [INFO] [stdout] = help: the suffix must be one of the numeric types (`u32`, `isize`, `f32`, etc.) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `macro_rules` has been stable since 1.0.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/lib.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | #![feature(macro_rules)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/emulator/mod.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | board: Option> [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 | board: Option> [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | pub header: [u8, ..16], [INFO] [stdout] | ^^^^ expected `usize`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:24:20 [INFO] [stdout] | [INFO] [stdout] 24 | pub header: [u8, ..16], [INFO] [stdout] | ^^^^ expected `usize`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | pub trainer: [u8, ..512], [INFO] [stdout] | ^^^^^ expected `usize`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | pub pc_inst: [u8, ..8192], [INFO] [stdout] | ^^^^^^ expected `usize`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:29:21 [INFO] [stdout] | [INFO] [stdout] 29 | pub pc_prom: [u8, ..32], [INFO] [stdout] | ^^^^ expected `usize`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | pub trainer: [u8, ..512], [INFO] [stdout] | ^^^^^ expected `usize`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:28:21 [INFO] [stdout] | [INFO] [stdout] 28 | pub pc_inst: [u8, ..8192], [INFO] [stdout] | ^^^^^^ expected `usize`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:29:21 [INFO] [stdout] | [INFO] [stdout] 29 | pub pc_prom: [u8, ..32], [INFO] [stdout] | ^^^^ expected `usize`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `usize` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Board` is not dyn compatible [INFO] [stdout] --> src/emulator/mod.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | board: Option> [INFO] [stdout] | ^^^^^ `Board` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/board/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Board { [INFO] [stdout] | ----- this trait is not dyn compatible... [INFO] [stdout] 27 | //see my SO question: http://stackoverflow.com/questions/25563667/implementing-rust-traits-cause-struct-to-not-be-found [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] = help: only type `board::NROM::Nrom` implements `Board` within this crate; consider using it directly instead. [INFO] [stdout] = note: `Board` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] --> src/board/mod.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(&self, _dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] --> src/board/mod.rs:28:63 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Board` is not dyn compatible [INFO] [stdout] --> src/emulator/mod.rs:27:21 [INFO] [stdout] | [INFO] [stdout] 27 | board: Option> [INFO] [stdout] | ^^^^^ `Board` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/board/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Board { [INFO] [stdout] | ----- this trait is not dyn compatible... [INFO] [stdout] 27 | //see my SO question: http://stackoverflow.com/questions/25563667/implementing-rust-traits-cause-struct-to-not-be-found [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] = help: only type `board::NROM::Nrom` implements `Board` within this crate; consider using it directly instead. [INFO] [stdout] = note: `Board` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] --> src/board/mod.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(&self, _dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] --> src/board/mod.rs:28:63 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time [INFO] [stdout] --> src/board/mod.rs:28:18 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] note: required by an implicit `Sized` bound in `Option` [INFO] [stdout] --> /rustc/8c32e313cccf7df531e2d49ffb8227bb92304aee/library/core/src/option.rs:593:1 [INFO] [stdout] help: consider further restricting `Self` [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `Self` cannot be known at compilation time [INFO] [stdout] --> src/board/mod.rs:28:18 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] note: required by an implicit `Sized` bound in `Option` [INFO] [stdout] --> /rustc/8c32e313cccf7df531e2d49ffb8227bb92304aee/library/core/src/option.rs:593:1 [INFO] [stdout] help: consider further restricting `Self` [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for struct `String` in the current scope [INFO] [stdout] --> src/rom/mod.rs:35:30 [INFO] [stdout] | [INFO] [stdout] 35 | let bad_format = String::from_str("Invald ROM format"); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `String` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `String` consider using one of the following associated functions: [INFO] [stdout] String::new [INFO] [stdout] String::with_capacity [INFO] [stdout] String::try_with_capacity [INFO] [stdout] String::from_utf8 [INFO] [stdout] and 9 others [INFO] [stdout] --> /rustc/8c32e313cccf7df531e2d49ffb8227bb92304aee/library/alloc/src/string.rs:444:5 [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `FromStr` which provides `from_str` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 18 + use std::str::FromStr; [INFO] [stdout] | [INFO] [stdout] help: there is an associated function `from` with a similar name [INFO] [stdout] | [INFO] [stdout] 35 - let bad_format = String::from_str("Invald ROM format"); [INFO] [stdout] 35 + let bad_format = String::from("Invald ROM format"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no function or associated item named `from_str` found for struct `String` in the current scope [INFO] [stdout] --> src/rom/mod.rs:35:30 [INFO] [stdout] | [INFO] [stdout] 35 | let bad_format = String::from_str("Invald ROM format"); [INFO] [stdout] | ^^^^^^^^ function or associated item not found in `String` [INFO] [stdout] | [INFO] [stdout] note: if you're trying to build a new `String` consider using one of the following associated functions: [INFO] [stdout] String::new [INFO] [stdout] String::with_capacity [INFO] [stdout] String::try_with_capacity [INFO] [stdout] String::from_utf8 [INFO] [stdout] and 9 others [INFO] [stdout] --> /rustc/8c32e313cccf7df531e2d49ffb8227bb92304aee/library/alloc/src/string.rs:444:5 [INFO] [stdout] = help: items from traits can only be used if the trait is in scope [INFO] [stdout] help: trait `FromStr` which provides `from_str` is implemented but not in scope; perhaps you want to import it [INFO] [stdout] | [INFO] [stdout] 18 + use std::str::FromStr; [INFO] [stdout] | [INFO] [stdout] help: there is an associated function `from` with a similar name [INFO] [stdout] | [INFO] [stdout] 35 - let bad_format = String::from_str("Invald ROM format"); [INFO] [stdout] 35 + let bad_format = String::from("Invald ROM format"); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:41:19 [INFO] [stdout] | [INFO] [stdout] 41 | header: [0, ..16], [INFO] [stdout] | ^^^^ expected `u8`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:42:20 [INFO] [stdout] | [INFO] [stdout] 42 | trainer: [0, ..512], [INFO] [stdout] | ^^^^^ expected `u8`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | pc_inst: [0, ..8192], [INFO] [stdout] | ^^^^^^ expected `u8`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:41:19 [INFO] [stdout] | [INFO] [stdout] 41 | header: [0, ..16], [INFO] [stdout] | ^^^^ expected `u8`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 46 | pc_prom: [0, ..32], [INFO] [stdout] | ^^^^ expected `u8`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:42:20 [INFO] [stdout] | [INFO] [stdout] 42 | trainer: [0, ..512], [INFO] [stdout] | ^^^^^ expected `u8`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:45:20 [INFO] [stdout] | [INFO] [stdout] 45 | pc_inst: [0, ..8192], [INFO] [stdout] | ^^^^^^ expected `u8`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/rom/mod.rs:46:20 [INFO] [stdout] | [INFO] [stdout] 46 | pc_prom: [0, ..32], [INFO] [stdout] | ^^^^ expected `u8`, found `RangeTo<{integer}>` [INFO] [stdout] | [INFO] [stdout] = note: expected type `u8` [INFO] [stdout] found struct `RangeTo<{integer}>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `grow` found for struct `Vec` in the current scope [INFO] [stdout] --> src/rom/mod.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | rom.prg.grow(prg_size, &(0i as u8)); [INFO] [stdout] | ^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `grow` found for struct `Vec` in the current scope [INFO] [stdout] --> src/rom/mod.rs:69:13 [INFO] [stdout] | [INFO] [stdout] 69 | rom.prg.grow(prg_size, &(0i as u8)); [INFO] [stdout] | ^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `grow` found for struct `Vec` in the current scope [INFO] [stdout] --> src/rom/mod.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | rom.chr.grow(chr_size, &(0i as u8)); [INFO] [stdout] | ^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `grow` found for struct `Vec` in the current scope [INFO] [stdout] --> src/rom/mod.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | rom.chr.grow(chr_size, &(0i as u8)); [INFO] [stdout] | ^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `grow` found for struct `Vec` in the current scope [INFO] [stdout] --> src/rom/mod.rs:95:14 [INFO] [stdout] | [INFO] [stdout] 95 | name_buf.grow(128, &(0i as u8)); [INFO] [stdout] | ^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `grow` found for struct `Vec` in the current scope [INFO] [stdout] --> src/rom/mod.rs:95:14 [INFO] [stdout] | [INFO] [stdout] 95 | name_buf.grow(128, &(0i as u8)); [INFO] [stdout] | ^^^^ method not found in `Vec` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope [INFO] [stdout] --> src/rom/mod.rs:111:18 [INFO] [stdout] | [INFO] [stdout] 111 | rom.name.as_slice() [INFO] [stdout] | ^^^^^^^^ method not found in `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Board` is not dyn compatible [INFO] [stdout] --> src/emulator/mod.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 35 | board: None [INFO] [stdout] | ^^^^ `Board` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/board/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Board { [INFO] [stdout] | ----- this trait is not dyn compatible... [INFO] [stdout] 27 | //see my SO question: http://stackoverflow.com/questions/25563667/implementing-rust-traits-cause-struct-to-not-be-found [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] = help: only type `board::NROM::Nrom` implements `Board` within this crate; consider using it directly instead. [INFO] [stdout] = note: `Board` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] --> src/board/mod.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(&self, _dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] --> src/board/mod.rs:28:63 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Board` is not dyn compatible [INFO] [stdout] --> src/emulator/mod.rs:44:35 [INFO] [stdout] | [INFO] [stdout] 44 | Ok(b) => self.board = Some(b), [INFO] [stdout] | ^^^^ `Board` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/board/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Board { [INFO] [stdout] | ----- this trait is not dyn compatible... [INFO] [stdout] 27 | //see my SO question: http://stackoverflow.com/questions/25563667/implementing-rust-traits-cause-struct-to-not-be-found [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] = help: only type `board::NROM::Nrom` implements `Board` within this crate; consider using it directly instead. [INFO] [stdout] = note: `Board` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] --> src/board/mod.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(&self, _dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] --> src/board/mod.rs:28:63 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Board` is not dyn compatible [INFO] [stdout] --> src/emulator/mod.rs:44:35 [INFO] [stdout] | [INFO] [stdout] 44 | Ok(b) => self.board = Some(b), [INFO] [stdout] | ^^^^^^^ `Board` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/board/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Board { [INFO] [stdout] | ----- this trait is not dyn compatible... [INFO] [stdout] 27 | //see my SO question: http://stackoverflow.com/questions/25563667/implementing-rust-traits-cause-struct-to-not-be-found [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] = help: only type `board::NROM::Nrom` implements `Board` within this crate; consider using it directly instead. [INFO] [stdout] = note: `Board` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] --> src/board/mod.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(&self, _dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] --> src/board/mod.rs:28:63 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `as_slice` found for struct `String` in the current scope [INFO] [stdout] --> src/rom/mod.rs:111:18 [INFO] [stdout] | [INFO] [stdout] 111 | rom.name.as_slice() [INFO] [stdout] | ^^^^^^^^ method not found in `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Board` is not dyn compatible [INFO] [stdout] --> src/emulator/mod.rs:35:14 [INFO] [stdout] | [INFO] [stdout] 35 | board: None [INFO] [stdout] | ^^^^ `Board` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/board/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Board { [INFO] [stdout] | ----- this trait is not dyn compatible... [INFO] [stdout] 27 | //see my SO question: http://stackoverflow.com/questions/25563667/implementing-rust-traits-cause-struct-to-not-be-found [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] = help: only type `board::NROM::Nrom` implements `Board` within this crate; consider using it directly instead. [INFO] [stdout] = note: `Board` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] --> src/board/mod.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(&self, _dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] --> src/board/mod.rs:28:63 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Board` is not dyn compatible [INFO] [stdout] --> src/emulator/mod.rs:44:35 [INFO] [stdout] | [INFO] [stdout] 44 | Ok(b) => self.board = Some(b), [INFO] [stdout] | ^^^^ `Board` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/board/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Board { [INFO] [stdout] | ----- this trait is not dyn compatible... [INFO] [stdout] 27 | //see my SO question: http://stackoverflow.com/questions/25563667/implementing-rust-traits-cause-struct-to-not-be-found [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] = help: only type `board::NROM::Nrom` implements `Board` within this crate; consider using it directly instead. [INFO] [stdout] = note: `Board` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] --> src/board/mod.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(&self, _dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] --> src/board/mod.rs:28:63 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Board` is not dyn compatible [INFO] [stdout] --> src/emulator/mod.rs:44:35 [INFO] [stdout] | [INFO] [stdout] 44 | Ok(b) => self.board = Some(b), [INFO] [stdout] | ^^^^^^^ `Board` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/board/mod.rs:28:6 [INFO] [stdout] | [INFO] [stdout] 26 | pub trait Board { [INFO] [stdout] | ----- this trait is not dyn compatible... [INFO] [stdout] 27 | //see my SO question: http://stackoverflow.com/questions/25563667/implementing-rust-traits-cause-struct-to-not-be-found [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ^^^ ...because associated function `new` has no `self` parameter [INFO] [stdout] = help: only type `board::NROM::Nrom` implements `Board` within this crate; consider using it directly instead. [INFO] [stdout] = note: `Board` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] help: consider turning `new` into a method by giving it a `&self` argument [INFO] [stdout] --> src/board/mod.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(&self, _dummy: Option, rom: &Rc>) -> Self; [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `new` so it does not apply to trait objects [INFO] [stdout] --> src/board/mod.rs:28:63 [INFO] [stdout] | [INFO] [stdout] 28 | fn new(_dummy: Option, rom: &Rc>) -> Self where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0038, E0277, E0308, E0412, E0423, E0425, E0432, E0463, E0573... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0038`. [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0038, E0277, E0308, E0412, E0423, E0425, E0432, E0463, E0573... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0038`. [INFO] [stdout] [INFO] [stderr] error: could not compile `ironnes` (lib) due to 41 previous errors; 3 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `ironnes` (lib test) due to 41 previous errors; 3 warnings emitted [INFO] running `Command { std: "docker" "inspect" "1b678a19f6001e51fe171b6e4ed4277fe43add2cc37633bbf0437ac2e8074602", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1b678a19f6001e51fe171b6e4ed4277fe43add2cc37633bbf0437ac2e8074602", kill_on_drop: false }` [INFO] [stdout] 1b678a19f6001e51fe171b6e4ed4277fe43add2cc37633bbf0437ac2e8074602