[INFO] updating cached repository https://github.com/seasalim/retroc64 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1bd4cfa491ee9b51b7760bdada52946dfe715dfc [INFO] testing seasalim/retroc64 against beta-2020-07-24 for beta-1.46-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseasalim%2Fretroc64" "/workspace/builds/worker-6/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/seasalim/retroc64 on toolchain beta-2020-07-24 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/seasalim/retroc64 [INFO] finished tweaking git repo https://github.com/seasalim/retroc64 [INFO] tweaked toml for git repo https://github.com/seasalim/retroc64 written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/seasalim/retroc64 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] b0a6a73d717f4a9572c56357fa8b1fdbb25dc4b41e1a66bd5dfd0d151d8027a6 [INFO] running `Command { std: "docker" "start" "-a" "b0a6a73d717f4a9572c56357fa8b1fdbb25dc4b41e1a66bd5dfd0d151d8027a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b0a6a73d717f4a9572c56357fa8b1fdbb25dc4b41e1a66bd5dfd0d151d8027a6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b0a6a73d717f4a9572c56357fa8b1fdbb25dc4b41e1a66bd5dfd0d151d8027a6", kill_on_drop: false }` [INFO] [stdout] b0a6a73d717f4a9572c56357fa8b1fdbb25dc4b41e1a66bd5dfd0d151d8027a6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 35d47a6f67510b2cc70048071fe7f31fe5ab1db46002ef261dc4c2ad1dafd74f [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "35d47a6f67510b2cc70048071fe7f31fe5ab1db46002ef261dc4c2ad1dafd74f", kill_on_drop: false }` [INFO] [stderr] Compiling sdl2-sys v0.19.0 [INFO] [stderr] Compiling termcolor v0.3.6 [INFO] [stderr] Compiling rand v0.4.2 [INFO] [stderr] Compiling memchr v2.0.1 [INFO] [stderr] Compiling atty v0.2.10 [INFO] [stderr] Compiling log v0.4.2 [INFO] [stderr] Compiling time v0.1.40 [INFO] [stderr] Compiling thread_local v0.3.5 [INFO] [stderr] Compiling clap v2.31.2 [INFO] [stderr] Compiling aho-corasick v0.6.4 [INFO] [stderr] Compiling regex v1.0.0 [INFO] [stderr] Compiling num-bigint v0.1.44 [INFO] [stderr] Compiling rand v0.3.22 [INFO] [stderr] Compiling env_logger v0.5.10 [INFO] [stderr] Compiling num-rational v0.1.42 [INFO] [stderr] Compiling num v0.1.42 [INFO] [stderr] Compiling sdl2 v0.20.1 [INFO] [stderr] Compiling retroc64 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/dasm.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | let s = try!(parse_opcode(mem, &mut ip)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:69:45 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn trigger_irq(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:73:45 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn single_step(&mut self, mem: &mut MemIO, cycles: &mut u8) -> Result { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:160:39 [INFO] [stdout] | [INFO] [stdout] 160 | fn fetch_operand(&self, mem: &mut MemIO, opcode: &Opcode) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:182:39 [INFO] [stdout] | [INFO] [stdout] 182 | fn opr_immediate(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:186:38 [INFO] [stdout] | [INFO] [stdout] 186 | fn opr_absolute(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:190:40 [INFO] [stdout] | [INFO] [stdout] 190 | fn opr_absolute_x(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:194:40 [INFO] [stdout] | [INFO] [stdout] 194 | fn opr_absolute_y(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:198:38 [INFO] [stdout] | [INFO] [stdout] 198 | fn opr_zeropage(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:202:40 [INFO] [stdout] | [INFO] [stdout] 202 | fn opr_zeropage_x(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:206:40 [INFO] [stdout] | [INFO] [stdout] 206 | fn opr_zeropage_y(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:210:38 [INFO] [stdout] | [INFO] [stdout] 210 | fn opr_indirect(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:214:40 [INFO] [stdout] | [INFO] [stdout] 214 | fn opr_indirect_x(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:218:40 [INFO] [stdout] | [INFO] [stdout] 218 | fn opr_indirect_y(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:222:38 [INFO] [stdout] | [INFO] [stdout] 222 | fn opr_relative(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:226:39 [INFO] [stdout] | [INFO] [stdout] 226 | fn push_byte(&mut self, mem: &mut MemIO, val: u8) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:231:38 [INFO] [stdout] | [INFO] [stdout] 231 | fn pop_byte(&mut self, mem: &mut MemIO) -> u8 { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:236:39 [INFO] [stdout] | [INFO] [stdout] 236 | fn push_word(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:243:38 [INFO] [stdout] | [INFO] [stdout] 243 | fn pop_word(&mut self, mem: &mut MemIO) -> u16 { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:249:40 [INFO] [stdout] | [INFO] [stdout] 249 | fn operand_source(&self, mem: &mut MemIO, operand: &Operand) -> u8 { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:318:36 [INFO] [stdout] | [INFO] [stdout] 318 | fn do_asl(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:389:36 [INFO] [stdout] | [INFO] [stdout] 389 | fn do_brk(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:401:36 [INFO] [stdout] | [INFO] [stdout] 401 | fn do_irq(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:447:36 [INFO] [stdout] | [INFO] [stdout] 447 | fn do_dec(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:471:36 [INFO] [stdout] | [INFO] [stdout] 471 | fn do_inc(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:493:36 [INFO] [stdout] | [INFO] [stdout] 493 | fn do_jsr(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:514:36 [INFO] [stdout] | [INFO] [stdout] 514 | fn do_lsr(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:535:36 [INFO] [stdout] | [INFO] [stdout] 535 | fn do_rol(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:553:36 [INFO] [stdout] | [INFO] [stdout] 553 | fn do_ror(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:573:36 [INFO] [stdout] | [INFO] [stdout] 573 | fn do_pha(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:578:36 [INFO] [stdout] | [INFO] [stdout] 578 | fn do_pla(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:584:36 [INFO] [stdout] | [INFO] [stdout] 584 | fn do_plp(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:588:36 [INFO] [stdout] | [INFO] [stdout] 588 | fn do_php(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:593:36 [INFO] [stdout] | [INFO] [stdout] 593 | fn do_rti(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:598:36 [INFO] [stdout] | [INFO] [stdout] 598 | fn do_rts(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:640:36 [INFO] [stdout] | [INFO] [stdout] 640 | fn do_sta(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:645:36 [INFO] [stdout] | [INFO] [stdout] 645 | fn do_stx(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:650:36 [INFO] [stdout] | [INFO] [stdout] 650 | fn do_sty(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dasm.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn disassemble_step(mem: &MemIO, mut ip: &mut u16) -> Result { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dasm.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parse_opcode(mem: &MemIO, ip: &mut u16) -> Result { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:62:19 [INFO] [stdout] | [INFO] [stdout] 62 | 0xD000...0xDFFF => self.io[addr as usize - 0xD000], [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:69:19 [INFO] [stdout] | [INFO] [stdout] 69 | 0xD000...0xDFFF => self.io[addr as usize - 0xD000] = val, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:83:19 [INFO] [stdout] | [INFO] [stdout] 83 | 0xDC00...0xDDFF => self.read_register(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:90:19 [INFO] [stdout] | [INFO] [stdout] 90 | 0xDC00...0xDDFF => self.write_register(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:108:19 [INFO] [stdout] | [INFO] [stdout] 108 | 0x1000...0x1FFF if (bank == 0) || (bank == 2) => self.rom[(addr + 0xC000) as usize], // Char ROM [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:132:19 [INFO] [stdout] | [INFO] [stdout] 132 | 0xD000...0xD02E => self.read_register(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:139:19 [INFO] [stdout] | [INFO] [stdout] 139 | 0xD000...0xD02E => self.write_register(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:170:19 [INFO] [stdout] | [INFO] [stdout] 170 | 0xA000...0xBFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:177:19 [INFO] [stdout] | [INFO] [stdout] 177 | 0xD000...0xDFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:184:19 [INFO] [stdout] | [INFO] [stdout] 184 | 0xE000...0xFFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:214:19 [INFO] [stdout] | [INFO] [stdout] 214 | 0xD000...0xDFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | fn color_from_reg(mem: &VicIO, clr: u16) -> Color { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:75:38 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn init(&mut self, mem: &mut VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:81:39 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn clock(&mut self, mem: &mut VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:99:37 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn refresh(&mut self, mem: &VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:128:35 [INFO] [stdout] | [INFO] [stdout] 128 | fn draw_text(&mut self, mem: &VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:163:38 [INFO] [stdout] | [INFO] [stdout] 163 | fn draw_sprites(&mut self, mem: &VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:185:37 [INFO] [stdout] | [INFO] [stdout] 185 | fn draw_bitmap(&mut self, mem: &VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:218:84 [INFO] [stdout] | [INFO] [stdout] 218 | fn draw_sprite(&mut self, sprite_addr: u16, sprite_x: u16, sprite_y: u8, mem: &VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:247:15 [INFO] [stdout] | [INFO] [stdout] 247 | mem: &VicIO, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:283:15 [INFO] [stdout] | [INFO] [stdout] 283 | mem: &VicIO, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'core::str::::trim_right': superseded by `trim_end` [INFO] [stdout] --> src/emu.rs:131:36 [INFO] [stdout] | [INFO] [stdout] 131 | let mut iter = cmd.trim_right().split_whitespace(); [INFO] [stdout] | ^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vic.rs:143:22 [INFO] [stdout] | [INFO] [stdout] 143 | let (mut char_rom_index, fg_color) = mem.vic_read_vm(char_index as u16); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 63 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 22.18s [INFO] running `Command { std: "docker" "inspect" "35d47a6f67510b2cc70048071fe7f31fe5ab1db46002ef261dc4c2ad1dafd74f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "35d47a6f67510b2cc70048071fe7f31fe5ab1db46002ef261dc4c2ad1dafd74f", kill_on_drop: false }` [INFO] [stdout] 35d47a6f67510b2cc70048071fe7f31fe5ab1db46002ef261dc4c2ad1dafd74f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 902822e634c063356bf2e076fd097197d578adbcb74c563a4781533708680fca [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "902822e634c063356bf2e076fd097197d578adbcb74c563a4781533708680fca", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling retroc64 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stdout] --> src/dasm.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | let s = try!(parse_opcode(mem, &mut ip)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:69:45 [INFO] [stdout] | [INFO] [stdout] 69 | pub fn trigger_irq(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:73:45 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn single_step(&mut self, mem: &mut MemIO, cycles: &mut u8) -> Result { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:160:39 [INFO] [stdout] | [INFO] [stdout] 160 | fn fetch_operand(&self, mem: &mut MemIO, opcode: &Opcode) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:182:39 [INFO] [stdout] | [INFO] [stdout] 182 | fn opr_immediate(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:186:38 [INFO] [stdout] | [INFO] [stdout] 186 | fn opr_absolute(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:190:40 [INFO] [stdout] | [INFO] [stdout] 190 | fn opr_absolute_x(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:194:40 [INFO] [stdout] | [INFO] [stdout] 194 | fn opr_absolute_y(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:198:38 [INFO] [stdout] | [INFO] [stdout] 198 | fn opr_zeropage(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:202:40 [INFO] [stdout] | [INFO] [stdout] 202 | fn opr_zeropage_x(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:206:40 [INFO] [stdout] | [INFO] [stdout] 206 | fn opr_zeropage_y(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:210:38 [INFO] [stdout] | [INFO] [stdout] 210 | fn opr_indirect(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:214:40 [INFO] [stdout] | [INFO] [stdout] 214 | fn opr_indirect_x(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:218:40 [INFO] [stdout] | [INFO] [stdout] 218 | fn opr_indirect_y(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:222:38 [INFO] [stdout] | [INFO] [stdout] 222 | fn opr_relative(&self, mem: &mut MemIO) -> Operand { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:226:39 [INFO] [stdout] | [INFO] [stdout] 226 | fn push_byte(&mut self, mem: &mut MemIO, val: u8) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:231:38 [INFO] [stdout] | [INFO] [stdout] 231 | fn pop_byte(&mut self, mem: &mut MemIO) -> u8 { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:236:39 [INFO] [stdout] | [INFO] [stdout] 236 | fn push_word(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:243:38 [INFO] [stdout] | [INFO] [stdout] 243 | fn pop_word(&mut self, mem: &mut MemIO) -> u16 { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:249:40 [INFO] [stdout] | [INFO] [stdout] 249 | fn operand_source(&self, mem: &mut MemIO, operand: &Operand) -> u8 { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:318:36 [INFO] [stdout] | [INFO] [stdout] 318 | fn do_asl(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:389:36 [INFO] [stdout] | [INFO] [stdout] 389 | fn do_brk(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:401:36 [INFO] [stdout] | [INFO] [stdout] 401 | fn do_irq(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:447:36 [INFO] [stdout] | [INFO] [stdout] 447 | fn do_dec(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:471:36 [INFO] [stdout] | [INFO] [stdout] 471 | fn do_inc(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:493:36 [INFO] [stdout] | [INFO] [stdout] 493 | fn do_jsr(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:514:36 [INFO] [stdout] | [INFO] [stdout] 514 | fn do_lsr(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:535:36 [INFO] [stdout] | [INFO] [stdout] 535 | fn do_rol(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:553:36 [INFO] [stdout] | [INFO] [stdout] 553 | fn do_ror(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:573:36 [INFO] [stdout] | [INFO] [stdout] 573 | fn do_pha(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:578:36 [INFO] [stdout] | [INFO] [stdout] 578 | fn do_pla(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:584:36 [INFO] [stdout] | [INFO] [stdout] 584 | fn do_plp(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:588:36 [INFO] [stdout] | [INFO] [stdout] 588 | fn do_php(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:593:36 [INFO] [stdout] | [INFO] [stdout] 593 | fn do_rti(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:598:36 [INFO] [stdout] | [INFO] [stdout] 598 | fn do_rts(&mut self, mem: &mut MemIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:640:36 [INFO] [stdout] | [INFO] [stdout] 640 | fn do_sta(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:645:36 [INFO] [stdout] | [INFO] [stdout] 645 | fn do_stx(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/cpu.rs:650:36 [INFO] [stdout] | [INFO] [stdout] 650 | fn do_sty(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dasm.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn disassemble_step(mem: &MemIO, mut ip: &mut u16) -> Result { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/dasm.rs:13:27 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn parse_opcode(mem: &MemIO, ip: &mut u16) -> Result { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:62:19 [INFO] [stdout] | [INFO] [stdout] 62 | 0xD000...0xDFFF => self.io[addr as usize - 0xD000], [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:69:19 [INFO] [stdout] | [INFO] [stdout] 69 | 0xD000...0xDFFF => self.io[addr as usize - 0xD000] = val, [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:83:19 [INFO] [stdout] | [INFO] [stdout] 83 | 0xDC00...0xDDFF => self.read_register(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:90:19 [INFO] [stdout] | [INFO] [stdout] 90 | 0xDC00...0xDDFF => self.write_register(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:108:19 [INFO] [stdout] | [INFO] [stdout] 108 | 0x1000...0x1FFF if (bank == 0) || (bank == 2) => self.rom[(addr + 0xC000) as usize], // Char ROM [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:132:19 [INFO] [stdout] | [INFO] [stdout] 132 | 0xD000...0xD02E => self.read_register(addr), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:139:19 [INFO] [stdout] | [INFO] [stdout] 139 | 0xD000...0xD02E => self.write_register(addr, val), [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:170:19 [INFO] [stdout] | [INFO] [stdout] 170 | 0xA000...0xBFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:177:19 [INFO] [stdout] | [INFO] [stdout] 177 | 0xD000...0xDFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:184:19 [INFO] [stdout] | [INFO] [stdout] 184 | 0xE000...0xFFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/memc64.rs:214:19 [INFO] [stdout] | [INFO] [stdout] 214 | 0xD000...0xDFFF => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | fn color_from_reg(mem: &VicIO, clr: u16) -> Color { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:75:38 [INFO] [stdout] | [INFO] [stdout] 75 | pub fn init(&mut self, mem: &mut VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:81:39 [INFO] [stdout] | [INFO] [stdout] 81 | pub fn clock(&mut self, mem: &mut VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:99:37 [INFO] [stdout] | [INFO] [stdout] 99 | pub fn refresh(&mut self, mem: &VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:128:35 [INFO] [stdout] | [INFO] [stdout] 128 | fn draw_text(&mut self, mem: &VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:163:38 [INFO] [stdout] | [INFO] [stdout] 163 | fn draw_sprites(&mut self, mem: &VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:185:37 [INFO] [stdout] | [INFO] [stdout] 185 | fn draw_bitmap(&mut self, mem: &VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:218:84 [INFO] [stdout] | [INFO] [stdout] 218 | fn draw_sprite(&mut self, sprite_addr: u16, sprite_x: u16, sprite_y: u8, mem: &VicIO) { [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:247:15 [INFO] [stdout] | [INFO] [stdout] 247 | mem: &VicIO, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/vic.rs:283:15 [INFO] [stdout] | [INFO] [stdout] 283 | mem: &VicIO, [INFO] [stdout] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated item 'core::str::::trim_right': superseded by `trim_end` [INFO] [stdout] --> src/emu.rs:131:36 [INFO] [stdout] | [INFO] [stdout] 131 | let mut iter = cmd.trim_right().split_whitespace(); [INFO] [stdout] | ^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vic.rs:143:22 [INFO] [stdout] | [INFO] [stdout] 143 | let (mut char_rom_index, fg_color) = mem.vic_read_vm(char_index as u16); [INFO] [stdout] | ----^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 63 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 1.65s [INFO] running `Command { std: "docker" "inspect" "902822e634c063356bf2e076fd097197d578adbcb74c563a4781533708680fca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "902822e634c063356bf2e076fd097197d578adbcb74c563a4781533708680fca", kill_on_drop: false }` [INFO] [stdout] 902822e634c063356bf2e076fd097197d578adbcb74c563a4781533708680fca [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/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=warn" "-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@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 96f3e0fc26b4f216f98c9535ab37f9feef8c96acdb53e76e56919eedddb3d375 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "96f3e0fc26b4f216f98c9535ab37f9feef8c96acdb53e76e56919eedddb3d375", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/dasm.rs:7:13 [INFO] [stderr] | [INFO] [stderr] 7 | let s = try!(parse_opcode(mem, &mut ip)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:69:45 [INFO] [stderr] | [INFO] [stderr] 69 | pub fn trigger_irq(&mut self, mem: &mut MemIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:73:45 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn single_step(&mut self, mem: &mut MemIO, cycles: &mut u8) -> Result { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:160:39 [INFO] [stderr] | [INFO] [stderr] 160 | fn fetch_operand(&self, mem: &mut MemIO, opcode: &Opcode) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:182:39 [INFO] [stderr] | [INFO] [stderr] 182 | fn opr_immediate(&self, mem: &mut MemIO) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:186:38 [INFO] [stderr] | [INFO] [stderr] 186 | fn opr_absolute(&self, mem: &mut MemIO) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:190:40 [INFO] [stderr] | [INFO] [stderr] 190 | fn opr_absolute_x(&self, mem: &mut MemIO) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:194:40 [INFO] [stderr] | [INFO] [stderr] 194 | fn opr_absolute_y(&self, mem: &mut MemIO) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:198:38 [INFO] [stderr] | [INFO] [stderr] 198 | fn opr_zeropage(&self, mem: &mut MemIO) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:202:40 [INFO] [stderr] | [INFO] [stderr] 202 | fn opr_zeropage_x(&self, mem: &mut MemIO) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:206:40 [INFO] [stderr] | [INFO] [stderr] 206 | fn opr_zeropage_y(&self, mem: &mut MemIO) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:210:38 [INFO] [stderr] | [INFO] [stderr] 210 | fn opr_indirect(&self, mem: &mut MemIO) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:214:40 [INFO] [stderr] | [INFO] [stderr] 214 | fn opr_indirect_x(&self, mem: &mut MemIO) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:218:40 [INFO] [stderr] | [INFO] [stderr] 218 | fn opr_indirect_y(&self, mem: &mut MemIO) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:222:38 [INFO] [stderr] | [INFO] [stderr] 222 | fn opr_relative(&self, mem: &mut MemIO) -> Operand { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:226:39 [INFO] [stderr] | [INFO] [stderr] 226 | fn push_byte(&mut self, mem: &mut MemIO, val: u8) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:231:38 [INFO] [stderr] | [INFO] [stderr] 231 | fn pop_byte(&mut self, mem: &mut MemIO) -> u8 { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:236:39 [INFO] [stderr] | [INFO] [stderr] 236 | fn push_word(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:243:38 [INFO] [stderr] | [INFO] [stderr] 243 | fn pop_word(&mut self, mem: &mut MemIO) -> u16 { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:249:40 [INFO] [stderr] | [INFO] [stderr] 249 | fn operand_source(&self, mem: &mut MemIO, operand: &Operand) -> u8 { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:318:36 [INFO] [stderr] | [INFO] [stderr] 318 | fn do_asl(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:389:36 [INFO] [stderr] | [INFO] [stderr] 389 | fn do_brk(&mut self, mem: &mut MemIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:401:36 [INFO] [stderr] | [INFO] [stderr] 401 | fn do_irq(&mut self, mem: &mut MemIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:447:36 [INFO] [stderr] | [INFO] [stderr] 447 | fn do_dec(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:471:36 [INFO] [stderr] | [INFO] [stderr] 471 | fn do_inc(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:493:36 [INFO] [stderr] | [INFO] [stderr] 493 | fn do_jsr(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:514:36 [INFO] [stderr] | [INFO] [stderr] 514 | fn do_lsr(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:535:36 [INFO] [stderr] | [INFO] [stderr] 535 | fn do_rol(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:553:36 [INFO] [stderr] | [INFO] [stderr] 553 | fn do_ror(&mut self, mem: &mut MemIO, opr: Operand) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:573:36 [INFO] [stderr] | [INFO] [stderr] 573 | fn do_pha(&mut self, mem: &mut MemIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:578:36 [INFO] [stderr] | [INFO] [stderr] 578 | fn do_pla(&mut self, mem: &mut MemIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:584:36 [INFO] [stderr] | [INFO] [stderr] 584 | fn do_plp(&mut self, mem: &mut MemIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:588:36 [INFO] [stderr] | [INFO] [stderr] 588 | fn do_php(&mut self, mem: &mut MemIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:593:36 [INFO] [stderr] | [INFO] [stderr] 593 | fn do_rti(&mut self, mem: &mut MemIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:598:36 [INFO] [stderr] | [INFO] [stderr] 598 | fn do_rts(&mut self, mem: &mut MemIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:640:36 [INFO] [stderr] | [INFO] [stderr] 640 | fn do_sta(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:645:36 [INFO] [stderr] | [INFO] [stderr] 645 | fn do_stx(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/cpu.rs:650:36 [INFO] [stderr] | [INFO] [stderr] 650 | fn do_sty(&mut self, mem: &mut MemIO, addr: u16) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dasm.rs:4:31 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn disassemble_step(mem: &MemIO, mut ip: &mut u16) -> Result { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/dasm.rs:13:27 [INFO] [stderr] | [INFO] [stderr] 13 | pub fn parse_opcode(mem: &MemIO, ip: &mut u16) -> Result { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn MemIO` [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memc64.rs:62:19 [INFO] [stderr] | [INFO] [stderr] 62 | 0xD000...0xDFFF => self.io[addr as usize - 0xD000], [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memc64.rs:69:19 [INFO] [stderr] | [INFO] [stderr] 69 | 0xD000...0xDFFF => self.io[addr as usize - 0xD000] = val, [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memc64.rs:83:19 [INFO] [stderr] | [INFO] [stderr] 83 | 0xDC00...0xDDFF => self.read_register(addr), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memc64.rs:90:19 [INFO] [stderr] | [INFO] [stderr] 90 | 0xDC00...0xDDFF => self.write_register(addr, val), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memc64.rs:108:19 [INFO] [stderr] | [INFO] [stderr] 108 | 0x1000...0x1FFF if (bank == 0) || (bank == 2) => self.rom[(addr + 0xC000) as usize], // Char ROM [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memc64.rs:132:19 [INFO] [stderr] | [INFO] [stderr] 132 | 0xD000...0xD02E => self.read_register(addr), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memc64.rs:139:19 [INFO] [stderr] | [INFO] [stderr] 139 | 0xD000...0xD02E => self.write_register(addr, val), [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memc64.rs:170:19 [INFO] [stderr] | [INFO] [stderr] 170 | 0xA000...0xBFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memc64.rs:177:19 [INFO] [stderr] | [INFO] [stderr] 177 | 0xD000...0xDFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memc64.rs:184:19 [INFO] [stderr] | [INFO] [stderr] 184 | 0xE000...0xFFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: `...` range patterns are deprecated [INFO] [stderr] --> src/memc64.rs:214:19 [INFO] [stderr] | [INFO] [stderr] 214 | 0xD000...0xDFFF => { [INFO] [stderr] | ^^^ help: use `..=` for an inclusive range [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vic.rs:27:25 [INFO] [stderr] | [INFO] [stderr] 27 | fn color_from_reg(mem: &VicIO, clr: u16) -> Color { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vic.rs:75:38 [INFO] [stderr] | [INFO] [stderr] 75 | pub fn init(&mut self, mem: &mut VicIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vic.rs:81:39 [INFO] [stderr] | [INFO] [stderr] 81 | pub fn clock(&mut self, mem: &mut VicIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vic.rs:99:37 [INFO] [stderr] | [INFO] [stderr] 99 | pub fn refresh(&mut self, mem: &VicIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vic.rs:128:35 [INFO] [stderr] | [INFO] [stderr] 128 | fn draw_text(&mut self, mem: &VicIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vic.rs:163:38 [INFO] [stderr] | [INFO] [stderr] 163 | fn draw_sprites(&mut self, mem: &VicIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vic.rs:185:37 [INFO] [stderr] | [INFO] [stderr] 185 | fn draw_bitmap(&mut self, mem: &VicIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vic.rs:218:84 [INFO] [stderr] | [INFO] [stderr] 218 | fn draw_sprite(&mut self, sprite_addr: u16, sprite_x: u16, sprite_y: u8, mem: &VicIO) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vic.rs:247:15 [INFO] [stderr] | [INFO] [stderr] 247 | mem: &VicIO, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/vic.rs:283:15 [INFO] [stderr] | [INFO] [stderr] 283 | mem: &VicIO, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn VicIO` [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right': superseded by `trim_end` [INFO] [stderr] --> src/emu.rs:131:36 [INFO] [stderr] | [INFO] [stderr] 131 | let mut iter = cmd.trim_right().split_whitespace(); [INFO] [stderr] | ^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/vic.rs:143:22 [INFO] [stderr] | [INFO] [stderr] 143 | let (mut char_rom_index, fg_color) = mem.vic_read_vm(char_index as u16); [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 63 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.26s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/retroc64-41621b507550ec4d [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "96f3e0fc26b4f216f98c9535ab37f9feef8c96acdb53e76e56919eedddb3d375", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "96f3e0fc26b4f216f98c9535ab37f9feef8c96acdb53e76e56919eedddb3d375", kill_on_drop: false }` [INFO] [stdout] 96f3e0fc26b4f216f98c9535ab37f9feef8c96acdb53e76e56919eedddb3d375