[INFO] updating cached repository https://github.com/MichaelBurge/nes-emulator [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/big/crater/work/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] c0d47f0a7285c4305c5f578b87fb90103cfdb5e8 [INFO] testing MichaelBurge/nes-emulator against beta-2019-09-28 for beta-1.39-1 [INFO] running `"git" "clone" "work/cache/git-repos/https%3A%2F%2Fgithub.com%2FMichaelBurge%2Fnes-emulator" "work/builds/worker-2/source"` [INFO] [stderr] Cloning into 'work/builds/worker-2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/MichaelBurge/nes-emulator on toolchain beta-2019-09-28 [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+beta-2019-09-28" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/MichaelBurge/nes-emulator [INFO] finished tweaking git repo https://github.com/MichaelBurge/nes-emulator [INFO] tweaked toml for git repo https://github.com/MichaelBurge/nes-emulator written to work/builds/worker-2/source/Cargo.toml [INFO] crate git repo https://github.com/MichaelBurge/nes-emulator already has a lockfile, it will not be regenerated [INFO] running `"/big/crater/work/cargo-home/bin/cargo" "+beta-2019-09-28" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/big/crater/work/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/big/crater/work/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/big/crater/work/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/big/crater/work/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=1000" "-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" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2019-09-28" "build" "--frozen"` [INFO] [stdout] 73f6fc25467d1a5e0f5a275686585853275f262f3ad2a21fd08147988d81b1d9 [INFO] running `"docker" "start" "-a" "73f6fc25467d1a5e0f5a275686585853275f262f3ad2a21fd08147988d81b1d9"` [INFO] [stderr] Compiling sdl2-sys v0.32.5 [INFO] [stderr] Compiling sdl2 v0.32.1 [INFO] [stderr] Compiling nes-emulator v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/common.rs:9:27 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn run_clocks(x: &mut Clocked, num_clocks: u32) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Clocked` [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/c6502.rs:39:21 [INFO] [stderr] | [INFO] [stderr] 39 | pub mapper: Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:66:33 [INFO] [stderr] | [INFO] [stderr] 66 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:87:28 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn new(mapper: Box) -> C6502 { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:87:29 [INFO] [stderr] | [INFO] [stderr] 87 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:124:33 [INFO] [stderr] | [INFO] [stderr] 124 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:189:29 [INFO] [stderr] | [INFO] [stderr] 189 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:205:33 [INFO] [stderr] | [INFO] [stderr] 205 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:458:29 [INFO] [stderr] | [INFO] [stderr] 458 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:462:33 [INFO] [stderr] | [INFO] [stderr] 462 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:555:28 [INFO] [stderr] | [INFO] [stderr] 555 | fn save(&self, fh:&mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:558:32 [INFO] [stderr] | [INFO] [stderr] 558 | fn load(&mut self, fh:&mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:134:29 [INFO] [stderr] | [INFO] [stderr] 134 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:137:33 [INFO] [stderr] | [INFO] [stderr] 137 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:51:33 [INFO] [stderr] | [INFO] [stderr] 51 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:78:27 [INFO] [stderr] | [INFO] [stderr] 78 | fn save(&self, _:&mut Write) { } [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:79:31 [INFO] [stderr] | [INFO] [stderr] 79 | fn load(&mut self, _:&mut Read) { } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:93:29 [INFO] [stderr] | [INFO] [stderr] 93 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:96:33 [INFO] [stderr] | [INFO] [stderr] 96 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:138:29 [INFO] [stderr] | [INFO] [stderr] 138 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:145:33 [INFO] [stderr] | [INFO] [stderr] 145 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:172:30 [INFO] [stderr] | [INFO] [stderr] 172 | fn save(&self, _fh: &mut Write) {} [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:173:34 [INFO] [stderr] | [INFO] [stderr] 173 | fn load(&mut self, _fh: &mut Read) { } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:200:29 [INFO] [stderr] | [INFO] [stderr] 200 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:206:33 [INFO] [stderr] | [INFO] [stderr] 206 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:219:29 [INFO] [stderr] | [INFO] [stderr] 219 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:303:20 [INFO] [stderr] | [INFO] [stderr] 303 | pub space: Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:308:30 [INFO] [stderr] | [INFO] [stderr] 308 | fn save(&self, _fh: &mut Write) { panic!("save() unimplemented"); } [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:309:34 [INFO] [stderr] | [INFO] [stderr] 309 | fn load(&mut self, _fh: &mut Read) { panic!("load() unimplemented"); } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:313:26 [INFO] [stderr] | [INFO] [stderr] 313 | pub fn new(space:Box) -> LoggedAddressSpace { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:34:28 [INFO] [stderr] | [INFO] [stderr] 34 | fn new(cpu_mapper: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:107:44 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn load_ines(rom: Ines, joystick1: Box, joystick2: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:107:74 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn load_ines(rom: Ines, joystick1: Box, joystick2: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:156:46 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:156:77 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:156:107 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/nes.rs:166:71 [INFO] [stderr] | [INFO] [stderr] 166 | mapper.map_address_space(0x4000, 0x4013, Box::new(apu), true);; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolon)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:177:50 [INFO] [stderr] | [INFO] [stderr] 177 | fn map_nes_ppu(&mut self, cartridge_ppu: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:211:29 [INFO] [stderr] | [INFO] [stderr] 211 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:217:33 [INFO] [stderr] | [INFO] [stderr] 217 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:249:29 [INFO] [stderr] | [INFO] [stderr] 249 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:252:33 [INFO] [stderr] | [INFO] [stderr] 252 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/joystick.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/joystick.rs:23:33 [INFO] [stderr] | [INFO] [stderr] 23 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:10:29 [INFO] [stderr] | [INFO] [stderr] 10 | fn save(&self, fh: &mut Write); [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:11:33 [INFO] [stderr] | [INFO] [stderr] 11 | fn load(&mut self, fh: &mut Read); [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:19:33 [INFO] [stderr] | [INFO] [stderr] 19 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:27:29 [INFO] [stderr] | [INFO] [stderr] 27 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:31:33 [INFO] [stderr] | [INFO] [stderr] 31 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:39:29 [INFO] [stderr] | [INFO] [stderr] 39 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:43:32 [INFO] [stderr] | [INFO] [stderr] 43 | fn load(&mut self, fh:&mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:53:29 [INFO] [stderr] | [INFO] [stderr] 53 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:62:33 [INFO] [stderr] | [INFO] [stderr] 62 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:87:33 [INFO] [stderr] | [INFO] [stderr] 87 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:103:29 [INFO] [stderr] | [INFO] [stderr] 103 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:106:33 [INFO] [stderr] | [INFO] [stderr] 106 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:114:29 [INFO] [stderr] | [INFO] [stderr] 114 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:121:33 [INFO] [stderr] | [INFO] [stderr] 121 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:131:29 [INFO] [stderr] | [INFO] [stderr] 131 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:138:33 [INFO] [stderr] | [INFO] [stderr] 138 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:151:50 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn read_value(fh: &mut Read) -> T { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/serialization.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | for i in 0..len { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/common.rs:9:27 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn run_clocks(x: &mut Clocked, num_clocks: u32) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Clocked` [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/c6502.rs:39:21 [INFO] [stderr] | [INFO] [stderr] 39 | pub mapper: Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:66:33 [INFO] [stderr] | [INFO] [stderr] 66 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:87:28 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn new(mapper: Box) -> C6502 { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:87:29 [INFO] [stderr] | [INFO] [stderr] 87 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:124:33 [INFO] [stderr] | [INFO] [stderr] 124 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:189:29 [INFO] [stderr] | [INFO] [stderr] 189 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:205:33 [INFO] [stderr] | [INFO] [stderr] 205 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/common.rs:9:27 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn run_clocks(x: &mut Clocked, num_clocks: u32) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Clocked` [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/c6502.rs:39:21 [INFO] [stderr] | [INFO] [stderr] 39 | pub mapper: Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:458:29 [INFO] [stderr] | [INFO] [stderr] 458 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] --> src/ppu.rs:462:33 [INFO] [stderr] | [INFO] [stderr] 462 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:66:33 [INFO] [stderr] | [INFO] [stderr] 66 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:87:28 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn new(mapper: Box) -> C6502 { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:555:28 [INFO] [stderr] | [INFO] [stderr] 555 | fn save(&self, fh:&mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:558:32 [INFO] [stderr] | [INFO] [stderr] 558 | fn load(&mut self, fh:&mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:134:29 [INFO] [stderr] | [INFO] [stderr] 134 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:137:33 [INFO] [stderr] | [INFO] [stderr] 137 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:51:33 [INFO] [stderr] | [INFO] [stderr] 51 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:78:27 [INFO] [stderr] | [INFO] [stderr] 78 | fn save(&self, _:&mut Write) { } [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:79:31 [INFO] [stderr] | [INFO] [stderr] 79 | fn load(&mut self, _:&mut Read) { } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:93:29 [INFO] [stderr] --> src/ppu.rs:87:29 [INFO] [stderr] | [INFO] [stderr] 93 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] 87 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:96:33 [INFO] [stderr] | [INFO] [stderr] 96 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:124:33 [INFO] [stderr] | [INFO] [stderr] 124 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:138:29 [INFO] [stderr] | [INFO] [stderr] 138 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:145:33 [INFO] [stderr] | [INFO] [stderr] 145 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:189:29 [INFO] [stderr] | [INFO] [stderr] 189 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:205:33 [INFO] [stderr] | [INFO] [stderr] 205 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] --> src/mapper.rs:172:30 [INFO] [stderr] | [INFO] [stderr] 172 | fn save(&self, _fh: &mut Write) {} [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:173:34 [INFO] [stderr] | [INFO] [stderr] 173 | fn load(&mut self, _fh: &mut Read) { } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:200:29 [INFO] [stderr] | [INFO] [stderr] 200 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:206:33 [INFO] [stderr] | [INFO] [stderr] 206 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:458:29 [INFO] [stderr] | [INFO] [stderr] 458 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] --> src/mapper.rs:219:29 [INFO] [stderr] | [INFO] [stderr] 219 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:462:33 [INFO] [stderr] | [INFO] [stderr] 462 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:555:28 [INFO] [stderr] | [INFO] [stderr] 555 | fn save(&self, fh:&mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:303:20 [INFO] [stderr] | [INFO] [stderr] 303 | pub space: Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:558:32 [INFO] [stderr] | [INFO] [stderr] 558 | fn load(&mut self, fh:&mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:308:30 [INFO] [stderr] | [INFO] [stderr] 308 | fn save(&self, _fh: &mut Write) { panic!("save() unimplemented"); } [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:309:34 [INFO] [stderr] | [INFO] [stderr] 309 | fn load(&mut self, _fh: &mut Read) { panic!("load() unimplemented"); } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:313:26 [INFO] [stderr] | [INFO] [stderr] 313 | pub fn new(space:Box) -> LoggedAddressSpace { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:34:28 [INFO] [stderr] | [INFO] [stderr] 34 | fn new(cpu_mapper: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:107:44 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn load_ines(rom: Ines, joystick1: Box, joystick2: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:107:74 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn load_ines(rom: Ines, joystick1: Box, joystick2: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:134:29 [INFO] [stderr] | [INFO] [stderr] 134 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:137:33 [INFO] [stderr] | [INFO] [stderr] 137 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] --> src/nes.rs:156:46 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:156:77 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:156:107 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/nes.rs:166:71 [INFO] [stderr] | [INFO] [stderr] 166 | mapper.map_address_space(0x4000, 0x4013, Box::new(apu), true);; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolon)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:177:50 [INFO] [stderr] | [INFO] [stderr] 177 | fn map_nes_ppu(&mut self, cartridge_ppu: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:211:29 [INFO] [stderr] | [INFO] [stderr] 211 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:217:33 [INFO] [stderr] | [INFO] [stderr] 217 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:51:33 [INFO] [stderr] | [INFO] [stderr] 51 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:249:29 [INFO] [stderr] | [INFO] [stderr] 249 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:78:27 [INFO] [stderr] | [INFO] [stderr] 78 | fn save(&self, _:&mut Write) { } [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:252:33 [INFO] [stderr] | [INFO] [stderr] 252 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:79:31 [INFO] [stderr] | [INFO] [stderr] 79 | fn load(&mut self, _:&mut Read) { } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:93:29 [INFO] [stderr] | [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] 93 | fn save(&self, fh: &mut Write) { [INFO] [stderr] --> src/joystick.rs:19:29 [INFO] [stderr] | [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] 19 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:96:33 [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/joystick.rs:23:33 [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] 23 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] 96 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:138:29 [INFO] [stderr] | [INFO] [stderr] 138 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:10:29 [INFO] [stderr] | [INFO] [stderr] 10 | fn save(&self, fh: &mut Write); [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:145:33 [INFO] [stderr] | [INFO] [stderr] 145 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:11:33 [INFO] [stderr] | [INFO] [stderr] 11 | fn load(&mut self, fh: &mut Read); [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:172:30 [INFO] [stderr] | [INFO] [stderr] 172 | fn save(&self, _fh: &mut Write) {} [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:173:34 [INFO] [stderr] | [INFO] [stderr] 173 | fn load(&mut self, _fh: &mut Read) { } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:19:33 [INFO] [stderr] | [INFO] [stderr] 19 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:27:29 [INFO] [stderr] | [INFO] [stderr] 27 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:200:29 [INFO] [stderr] | [INFO] [stderr] 200 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:206:33 [INFO] [stderr] | [INFO] [stderr] 206 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:219:29 [INFO] [stderr] | [INFO] [stderr] 219 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] --> src/serialization.rs:31:33 [INFO] [stderr] | [INFO] [stderr] 31 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:39:29 [INFO] [stderr] | [INFO] [stderr] 39 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:43:32 [INFO] [stderr] | [INFO] [stderr] 43 | fn load(&mut self, fh:&mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:53:29 [INFO] [stderr] | [INFO] [stderr] 53 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:62:33 [INFO] [stderr] | [INFO] [stderr] 62 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:87:33 [INFO] [stderr] | [INFO] [stderr] 87 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:303:20 [INFO] [stderr] | [INFO] [stderr] 303 | pub space: Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:103:29 [INFO] [stderr] | [INFO] [stderr] 103 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:308:30 [INFO] [stderr] | [INFO] [stderr] 308 | fn save(&self, _fh: &mut Write) { panic!("save() unimplemented"); } [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:106:33 [INFO] [stderr] | [INFO] [stderr] 106 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:309:34 [INFO] [stderr] | [INFO] [stderr] 309 | fn load(&mut self, _fh: &mut Read) { panic!("load() unimplemented"); } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:114:29 [INFO] [stderr] | [INFO] [stderr] 114 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] --> src/mapper.rs:313:26 [INFO] [stderr] | [INFO] [stderr] 313 | pub fn new(space:Box) -> LoggedAddressSpace { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:121:33 [INFO] [stderr] | [INFO] [stderr] 121 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:34:28 [INFO] [stderr] | [INFO] [stderr] 34 | fn new(cpu_mapper: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:131:29 [INFO] [stderr] | [INFO] [stderr] 131 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:138:33 [INFO] [stderr] | [INFO] [stderr] 138 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:151:50 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn read_value(fh: &mut Read) -> T { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:107:44 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn load_ines(rom: Ines, joystick1: Box, joystick2: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:107:74 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn load_ines(rom: Ines, joystick1: Box, joystick2: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:156:46 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:156:77 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:156:107 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/nes.rs:166:71 [INFO] [stderr] | [INFO] [stderr] 166 | mapper.map_address_space(0x4000, 0x4013, Box::new(apu), true);; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolon)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:177:50 [INFO] [stderr] | [INFO] [stderr] 177 | fn map_nes_ppu(&mut self, cartridge_ppu: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:211:29 [INFO] [stderr] | [INFO] [stderr] 211 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:217:33 [INFO] [stderr] | [INFO] [stderr] 217 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:249:29 [INFO] [stderr] | [INFO] [stderr] 249 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:252:33 [INFO] [stderr] | [INFO] [stderr] 252 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/joystick.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/joystick.rs:23:33 [INFO] [stderr] | [INFO] [stderr] 23 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:10:29 [INFO] [stderr] | [INFO] [stderr] 10 | fn save(&self, fh: &mut Write); [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:11:33 [INFO] [stderr] | [INFO] [stderr] 11 | fn load(&mut self, fh: &mut Read); [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:19:33 [INFO] [stderr] | [INFO] [stderr] 19 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:27:29 [INFO] [stderr] | [INFO] [stderr] 27 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:31:33 [INFO] [stderr] | [INFO] [stderr] 31 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:39:29 [INFO] [stderr] | [INFO] [stderr] 39 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:43:32 [INFO] [stderr] | [INFO] [stderr] 43 | fn load(&mut self, fh:&mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:53:29 [INFO] [stderr] | [INFO] [stderr] 53 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:62:33 [INFO] [stderr] | [INFO] [stderr] 62 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:87:33 [INFO] [stderr] | [INFO] [stderr] 87 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:103:29 [INFO] [stderr] | [INFO] [stderr] 103 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:106:33 [INFO] [stderr] | [INFO] [stderr] 106 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:114:29 [INFO] [stderr] | [INFO] [stderr] 114 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:121:33 [INFO] [stderr] | [INFO] [stderr] 121 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:131:29 [INFO] [stderr] | [INFO] [stderr] 131 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:138:33 [INFO] [stderr] | [INFO] [stderr] 138 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:151:50 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn read_value(fh: &mut Read) -> T { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/headless.rs:44:16 [INFO] [stderr] | [INFO] [stderr] 44 | in_fh: Box, [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/headless.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | out_fh: Box, [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/headless.rs:52:27 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn new(in_fh: Box, out_fh: Box) -> Headless { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/headless.rs:52:46 [INFO] [stderr] | [INFO] [stderr] 52 | pub fn new(in_fh: Box, out_fh: Box) -> Headless { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/common.rs:9:27 [INFO] [stderr] | [INFO] [stderr] 9 | pub fn run_clocks(x: &mut Clocked, num_clocks: u32) { [INFO] [stderr] | ^^^^^^^ help: use `dyn`: `dyn Clocked` [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/c6502.rs:39:21 [INFO] [stderr] | [INFO] [stderr] 39 | pub mapper: Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:66:33 [INFO] [stderr] | [INFO] [stderr] 66 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/c6502.rs:87:28 [INFO] [stderr] | [INFO] [stderr] 87 | pub fn new(mapper: Box) -> C6502 { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:87:29 [INFO] [stderr] | [INFO] [stderr] 87 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:124:33 [INFO] [stderr] | [INFO] [stderr] 124 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:189:29 [INFO] [stderr] | [INFO] [stderr] 189 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:205:33 [INFO] [stderr] | [INFO] [stderr] 205 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:458:29 [INFO] [stderr] | [INFO] [stderr] 458 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:462:33 [INFO] [stderr] | [INFO] [stderr] 462 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:555:28 [INFO] [stderr] | [INFO] [stderr] 555 | fn save(&self, fh:&mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/ppu.rs:558:32 [INFO] [stderr] | [INFO] [stderr] 558 | fn load(&mut self, fh:&mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:134:29 [INFO] [stderr] | [INFO] [stderr] 134 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/apu.rs:137:33 [INFO] [stderr] | [INFO] [stderr] 137 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:48:29 [INFO] [stderr] | [INFO] [stderr] 48 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:51:33 [INFO] [stderr] | [INFO] [stderr] 51 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:78:27 [INFO] [stderr] | [INFO] [stderr] 78 | fn save(&self, _:&mut Write) { } [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:79:31 [INFO] [stderr] | [INFO] [stderr] 79 | fn load(&mut self, _:&mut Read) { } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:93:29 [INFO] [stderr] | [INFO] [stderr] 93 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:96:33 [INFO] [stderr] | [INFO] [stderr] 96 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:138:29 [INFO] [stderr] | [INFO] [stderr] 138 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:145:33 [INFO] [stderr] | [INFO] [stderr] 145 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:172:30 [INFO] [stderr] | [INFO] [stderr] 172 | fn save(&self, _fh: &mut Write) {} [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:173:34 [INFO] [stderr] | [INFO] [stderr] 173 | fn load(&mut self, _fh: &mut Read) { } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:200:29 [INFO] [stderr] | [INFO] [stderr] 200 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:206:33 [INFO] [stderr] | [INFO] [stderr] 206 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:219:29 [INFO] [stderr] | [INFO] [stderr] 219 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:222:33 [INFO] [stderr] | [INFO] [stderr] 222 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:303:20 [INFO] [stderr] | [INFO] [stderr] 303 | pub space: Box, [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:308:30 [INFO] [stderr] | [INFO] [stderr] 308 | fn save(&self, _fh: &mut Write) { panic!("save() unimplemented"); } [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:309:34 [INFO] [stderr] | [INFO] [stderr] 309 | fn load(&mut self, _fh: &mut Read) { panic!("load() unimplemented"); } [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/mapper.rs:313:26 [INFO] [stderr] | [INFO] [stderr] 313 | pub fn new(space:Box) -> LoggedAddressSpace { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:34:28 [INFO] [stderr] | [INFO] [stderr] 34 | fn new(cpu_mapper: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:107:44 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn load_ines(rom: Ines, joystick1: Box, joystick2: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:107:74 [INFO] [stderr] | [INFO] [stderr] 107 | pub fn load_ines(rom: Ines, joystick1: Box, joystick2: Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:156:46 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:156:77 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:156:107 [INFO] [stderr] | [INFO] [stderr] 156 | fn map_nes_cpu(&mut self, joystick1: Box, _joystick2: Box, cartridge: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: unnecessary trailing semicolon [INFO] [stderr] --> src/nes.rs:166:71 [INFO] [stderr] | [INFO] [stderr] 166 | mapper.map_address_space(0x4000, 0x4013, Box::new(apu), true);; [INFO] [stderr] | ^ help: remove this semicolon [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(redundant_semicolon)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:177:50 [INFO] [stderr] | [INFO] [stderr] 177 | fn map_nes_ppu(&mut self, cartridge_ppu: Box) { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:211:29 [INFO] [stderr] | [INFO] [stderr] 211 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:217:33 [INFO] [stderr] | [INFO] [stderr] 217 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:249:29 [INFO] [stderr] | [INFO] [stderr] 249 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/nes.rs:252:33 [INFO] [stderr] | [INFO] [stderr] 252 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/joystick.rs:19:29 [INFO] [stderr] | [INFO] [stderr] 19 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/joystick.rs:23:33 [INFO] [stderr] | [INFO] [stderr] 23 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:10:29 [INFO] [stderr] | [INFO] [stderr] 10 | fn save(&self, fh: &mut Write); [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:11:33 [INFO] [stderr] | [INFO] [stderr] 11 | fn load(&mut self, fh: &mut Read); [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:15:29 [INFO] [stderr] | [INFO] [stderr] 15 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:19:33 [INFO] [stderr] | [INFO] [stderr] 19 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:27:29 [INFO] [stderr] | [INFO] [stderr] 27 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:31:33 [INFO] [stderr] | [INFO] [stderr] 31 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:39:29 [INFO] [stderr] | [INFO] [stderr] 39 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:43:32 [INFO] [stderr] | [INFO] [stderr] 43 | fn load(&mut self, fh:&mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:53:29 [INFO] [stderr] | [INFO] [stderr] 53 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:62:33 [INFO] [stderr] | [INFO] [stderr] 62 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:74:29 [INFO] [stderr] | [INFO] [stderr] 74 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:87:33 [INFO] [stderr] | [INFO] [stderr] 87 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:103:29 [INFO] [stderr] | [INFO] [stderr] 103 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:106:33 [INFO] [stderr] | [INFO] [stderr] 106 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:114:29 [INFO] [stderr] | [INFO] [stderr] 114 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:121:33 [INFO] [stderr] | [INFO] [stderr] 121 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:131:29 [INFO] [stderr] | [INFO] [stderr] 131 | fn save(&self, fh: &mut Write) { [INFO] [stderr] | ^^^^^ help: use `dyn`: `dyn Write` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:138:33 [INFO] [stderr] | [INFO] [stderr] 138 | fn load(&mut self, fh: &mut Read) { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/serialization.rs:151:50 [INFO] [stderr] | [INFO] [stderr] 151 | pub fn read_value(fh: &mut Read) -> T { [INFO] [stderr] | ^^^^ help: use `dyn`: `dyn Read` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:360:29 [INFO] [stderr] | [INFO] [stderr] 360 | fn create_nes(joystick1:Box, joystick2:Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:360:58 [INFO] [stderr] | [INFO] [stderr] 360 | fn create_nes(joystick1:Box, joystick2:Box) -> Nes { [INFO] [stderr] | ^^^^^^^^^^^^ help: use `dyn`: `dyn AddressSpace` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/serialization.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | for i in 0..len { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `record_tas` [INFO] [stderr] --> src/headless.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | let mut record_tas = self.read_byte(); [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_record_tas` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/serialization.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | for i in 0..len { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/headless.rs:53:13 [INFO] [stderr] | [INFO] [stderr] 53 | let mut nes = None; [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: variable does not need to be mutable [INFO] [stderr] --> src/headless.rs:91:13 [INFO] [stderr] | [INFO] [stderr] 91 | let mut record_tas = self.read_byte(); [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/serialization.rs:143:13 [INFO] [stderr] | [INFO] [stderr] 143 | for i in 0..len { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] error: linking with `cc` failed: exit code: 1 [INFO] [stderr] | [INFO] [stderr] = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.9.rcgu.o" "-o" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5" "/opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.4fz09msyctyhh2jb.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libsdl2-04d278f625654216.rlib" "/opt/rustwide/target/debug/deps/librand-2c8eac9df1c15304.rlib" "/opt/rustwide/target/debug/deps/librand_xorshift-57eff26591ee1926.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-a1f64ed70102bd13.rlib" "/opt/rustwide/target/debug/deps/librand_hc-79eb2bb135bcf82e.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-ed3231068e4634b4.rlib" "/opt/rustwide/target/debug/deps/librand_isaac-abee9575352963b6.rlib" "/opt/rustwide/target/debug/deps/librand_core-96fcd81fcc1da5a2.rlib" "/opt/rustwide/target/debug/deps/librand_os-3a2ece3e5febccfa.rlib" "/opt/rustwide/target/debug/deps/librand_jitter-84b04fde051c371f.rlib" "/opt/rustwide/target/debug/deps/librand_core-f46a59bb123ae6e7.rlib" "/opt/rustwide/target/debug/deps/libsdl2_sys-08ca9b9923027bde.rlib" "/opt/rustwide/target/debug/deps/libbitflags-3a40c6903761d7ac.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-0bb2f2b904eb618d.rlib" "/opt/rustwide/target/debug/deps/liblibc-5fdc2492cb4dcc74.rlib" "/opt/rustwide/target/debug/deps/libnum-37b62393ea43ae90.rlib" "/opt/rustwide/target/debug/deps/libnum_iter-983498e0503285b4.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-13966710122d1116.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-96f5ce4bbc698d03.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-db812c66f862af4c.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-e7871a21575d5ff7.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-2f2c581bc0d759e6.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-35731cabc05dc8a0.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-36477394541292db.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-8b706b170c1272d8.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-801dbb3043ccf581.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-a32aa66ce6f72b21.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-d00ea3bfb2bb6c00.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-d2c6ebe88c3e113c.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-df74f62f6bb60621.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-2170473575daeedb.rlib" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-1a08089bbddc4f51.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/beta-2019-09-28-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-f8f562e5472ad5c3.rlib" "-Wl,-Bdynamic" "-lSDL2" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" [INFO] [stderr] = note: /opt/rustwide/target/debug/deps/nes_emulator-5b619f0639dde8b5.nes_emulator.ewyot7i3-cgu.5.rcgu.o: In function `nes_emulator::main': [INFO] [stderr] /opt/rustwide/workdir/src/main.rs:168: undefined reference to `emscripten_set_main_loop' [INFO] [stderr] collect2: error: ld returned 1 exit status [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: could not compile `nes-emulator`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "73f6fc25467d1a5e0f5a275686585853275f262f3ad2a21fd08147988d81b1d9"` [INFO] running `"docker" "rm" "-f" "73f6fc25467d1a5e0f5a275686585853275f262f3ad2a21fd08147988d81b1d9"` [INFO] [stdout] 73f6fc25467d1a5e0f5a275686585853275f262f3ad2a21fd08147988d81b1d9