[INFO] cloning repository https://github.com/jonas-schievink/breeze-emu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jonas-schievink/breeze-emu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjonas-schievink%2Fbreeze-emu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjonas-schievink%2Fbreeze-emu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a36eab547e384b1951b589484f8d9251f393efa2
[INFO] documenting jonas-schievink/breeze-emu against 1.75.0 for beta-1.76-rustdoc-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjonas-schievink%2Fbreeze-emu" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/jonas-schievink/breeze-emu on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/jonas-schievink/breeze-emu
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/jonas-schievink/breeze-emu
[INFO] tweaked toml for git repo https://github.com/jonas-schievink/breeze-emu written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/jonas-schievink/breeze-emu already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded num-complex v0.1.38
[INFO] [stderr]   Downloaded shared_library v0.1.6
[INFO] [stderr]   Downloaded core-foundation v0.4.1
[INFO] [stderr]   Downloaded num-bigint v0.1.39
[INFO] [stderr]   Downloaded xml-rs v0.6.0
[INFO] [stderr]   Downloaded sdl2-sys v0.24.0
[INFO] [stderr]   Downloaded sdl2 v0.24.0
[INFO] [stderr]   Downloaded slicevec v0.1.0
[INFO] [stderr]   Downloaded core-foundation-sys v0.4.1
[INFO] [stderr]   Downloaded rustasm6502 v0.1.2
[INFO] [stderr]   Downloaded gl_generator v0.5.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d7cd7a17ef95e0d2018e112dd01323982f2d85d04b6b10f8ece98cd77a5896b1
[INFO] running `Command { std: "docker" "start" "-a" "d7cd7a17ef95e0d2018e112dd01323982f2d85d04b6b10f8ece98cd77a5896b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d7cd7a17ef95e0d2018e112dd01323982f2d85d04b6b10f8ece98cd77a5896b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d7cd7a17ef95e0d2018e112dd01323982f2d85d04b6b10f8ece98cd77a5896b1", kill_on_drop: false }`
[INFO] [stdout] d7cd7a17ef95e0d2018e112dd01323982f2d85d04b6b10f8ece98cd77a5896b1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5a93ad07595d9e7d29710a3ff74d8e155cd0a840fb63a8bfb8cf803a7e6bb9e4
[INFO] running `Command { std: "docker" "start" "-a" "5a93ad07595d9e7d29710a3ff74d8e155cd0a840fb63a8bfb8cf803a7e6bb9e4", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling siphasher v0.2.2
[INFO] [stderr]    Compiling libc v0.2.24
[INFO] [stderr]    Compiling num-traits v0.1.39
[INFO] [stderr]    Compiling itoa v0.3.1
[INFO] [stderr]    Compiling dtoa v0.4.1
[INFO] [stderr]    Compiling serde v0.9.15
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]    Compiling pkg-config v0.3.9
[INFO] [stderr]    Compiling bitflags v0.7.0
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling khronos_api v1.0.1
[INFO] [stderr]    Compiling log v0.3.8
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]     Checking lazy_static v0.1.16
[INFO] [stderr]    Compiling xml-rs v0.3.6
[INFO] [stderr]     Checking crossbeam v0.2.10
[INFO] [stderr]    Compiling xml-rs v0.6.0
[INFO] [stderr]    Compiling backtrace-sys v0.1.11
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling phf_shared v0.7.21
[INFO] [stderr]    Compiling dbghelp-sys v0.2.0
[INFO] [stderr]    Compiling ole32-sys v0.2.0
[INFO] [stderr]     Checking num-bigint v0.1.39
[INFO] [stderr]     Checking shared_library v0.1.6
[INFO] [stderr]    Compiling sdl2-sys v0.24.0
[INFO] [stderr]    Compiling phf v0.7.21
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]    Compiling rand v0.3.15
[INFO] [stderr]    Compiling backtrace v0.2.3
[INFO] [stderr]     Checking breeze_backend v0.1.0 (/opt/rustwide/workdir/src/breeze_backend)
[INFO] [stderr]     Checking byteorder v0.5.3
[INFO] [stderr]    Compiling x11-dl v2.14.0
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backend/lib.rs:23:43
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type BackendResult<T> = Result<T, Box<Error>>;
[INFO] [stdout]    |                                           ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/breeze_backend/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub type BackendResult<T> = Result<T, Box<dyn Error>>;
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling alsa-sys v0.1.1
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking num-complex v0.1.38
[INFO] [stderr]     Checking fs2 v0.2.5
[INFO] [stderr]     Checking cfg-if v0.1.1
[INFO] [stderr]     Checking rustc-demangle v0.1.4
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]    Compiling tempfile v2.1.5
[INFO] [stderr]     Checking num-rational v0.1.38
[INFO] [stderr]     Checking memmap v0.2.3
[INFO] [stderr]     Checking memchr v1.0.1
[INFO] [stderr]     Checking libsavestate v0.1.0 (/opt/rustwide/workdir/src/libsavestate)
[INFO] [stderr]     Checking smallvec v0.1.8
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/libsavestate/lib.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         try!(read_exact(r, &mut val));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/libsavestate/lib.rs:5:9
[INFO] [stdout]    |
[INFO] [stdout] 5  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/libsavestate/lib.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |             None => try!(false.save_state(w)),
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/libsavestate/lib.rs:110:17
[INFO] [stdout]     |
[INFO] [stdout] 110 |                 try!(true.save_state(w));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/libsavestate/lib.rs:111:17
[INFO] [stdout]     |
[INFO] [stdout] 111 |                 try!(t.save_state(w));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/libsavestate/lib.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |         try!(read_exact(r, &mut val));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/libsavestate/lib.rs:125:17
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 try!(t.restore_state(r));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/libsavestate/lib.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |                       try!(t.save_state(w))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 | / impl_fixed_size_array!(
[INFO] [stdout] 158 | |     0 1 2 3 4 5 6 7 8
[INFO] [stdout] 159 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_fixed_size_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/libsavestate/lib.rs:149:21
[INFO] [stdout]     |
[INFO] [stdout] 149 |                       try!(t.restore_state(r));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 | / impl_fixed_size_array!(
[INFO] [stdout] 158 | |     0 1 2 3 4 5 6 7 8
[INFO] [stdout] 159 | | );
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_fixed_size_array` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/libsavestate/lib.rs:168:9
[INFO] [stdout]     |
[INFO] [stdout] 168 |         try!(self.len().save_state(w));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/libsavestate/lib.rs:170:13
[INFO] [stdout]     |
[INFO] [stdout] 170 |             try!(item.save_state(w));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/libsavestate/lib.rs:177:9
[INFO] [stdout]     |
[INFO] [stdout] 177 |         try!(len.restore_state(r));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/libsavestate/lib.rs:184:13
[INFO] [stdout]     |
[INFO] [stdout] 184 |             try!(obj.restore_state(r));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking bitflags v0.6.0
[INFO] [stderr]    Compiling wayland-scanner v0.5.11
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking aho-corasick v0.6.3
[INFO] [stderr]     Checking thread_local v0.3.4
[INFO] [stderr]     Checking regex-syntax v0.4.1
[INFO] [stderr]    Compiling gl_generator v0.5.4
[INFO] [stderr]     Checking utf8-ranges v1.0.0
[INFO] [stderr]     Checking num v0.1.39
[INFO] [stderr]     Checking byte_array v0.1.0 (/opt/rustwide/workdir/src/byte_array)
[INFO] [stderr]     Checking sdl2 v0.24.0
[INFO] [stderr]     Checking spc700 v0.1.0 (/opt/rustwide/workdir/src/spc700)
[INFO] [stderr]     Checking wdc65816 v0.1.0 (/opt/rustwide/workdir/src/wdc65816)
[INFO] [stderr]     Checking slicevec v0.1.0
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/wdc65816/statusreg.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 71 |         try!(f.write_str(if self.negative() { "N" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/wdc65816/statusreg.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |         try!(f.write_str(if self.overflow() { "V" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/wdc65816/statusreg.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 |         try!(f.write_str(if self.small_acc() { "M" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/wdc65816/statusreg.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 74 |         try!(f.write_str(if self.small_index() { "X" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/wdc65816/statusreg.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         try!(f.write_str(if self.decimal() { "D" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/wdc65816/statusreg.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |         try!(f.write_str(if self.irq_disable() { "I" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/wdc65816/statusreg.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |         try!(f.write_str(if self.zero() { "Z" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/wdc65816/statusreg.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 |         try!(f.write_str(if self.carry() { "C" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/wdc65816/lib.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | /     impl_save_state_fns!(Cpu {
[INFO] [stdout] 70 | |         a, x, y, s, dbr, pbr, d, pc, p, emulation, wai, mem
[INFO] [stdout] 71 | |     } ignore { cy, trace });
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking cpal v0.2.12
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> /opt/rustwide/workdir/src/libsavestate/lib.rs:235:14
[INFO] [stdout]     |
[INFO] [stdout] 235 |             );*
[INFO] [stdout]     |              ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/wdc65816/lib.rs:69:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | /     impl_save_state_fns!(Cpu {
[INFO] [stdout] 70 | |         a, x, y, s, dbr, pbr, d, pc, p, emulation, wai, mem
[INFO] [stdout] 71 | |     } ignore { cy, trace });
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> /opt/rustwide/workdir/src/libsavestate/lib.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |             );*
[INFO] [stdout]     |              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling phf_generator v0.7.21
[INFO] [stderr]     Checking clap v2.25.0
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/spc700/addressing.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         (hi << 8 | lo)
[INFO] [stdout]    |         ^            ^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/spc700/lib.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 93 -         (hi << 8 | lo)
[INFO] [stdout] 93 +         hi << 8 | lo
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/dsp.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl_save_state!(Voice { lvol, rvol, pitch, source, adsr1, adsr2, gain, env, out, fir } ignore {});
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> /opt/rustwide/workdir/src/libsavestate/lib.rs:235:14
[INFO] [stdout]     |
[INFO] [stdout] 235 |             );*
[INFO] [stdout]     |              ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/dsp.rs:31:1
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl_save_state!(Voice { lvol, rvol, pitch, source, adsr1, adsr2, gain, env, out, fir } ignore {});
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> /opt/rustwide/workdir/src/libsavestate/lib.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |             );*
[INFO] [stdout]     |              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/dsp.rs:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | / impl_save_state!(Dsp { voices, lmvol, rmvol, levol, revol, keyon, keyoff, flags, endx, efb, pmod,
[INFO] [stdout] 79 | |     noise, echo, srcdir, echo_buf, echo_delay } ignore {});
[INFO] [stdout]    | |__________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/dsp.rs:78:1
[INFO] [stdout]    |
[INFO] [stdout] 78 | / impl_save_state!(Dsp { voices, lmvol, rmvol, levol, revol, keyon, keyoff, flags, endx, efb, pmod,
[INFO] [stdout] 79 | |     noise, echo, srcdir, echo_buf, echo_delay } ignore {});
[INFO] [stdout]    | |__________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/statusreg.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         try!(f.write_str(if self.negative() { "N" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/statusreg.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |         try!(f.write_str(if self.overflow() { "V" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/statusreg.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         try!(f.write_str(if self.direct_page() { "D" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/statusreg.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         try!(f.write_str("x"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/statusreg.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         try!(f.write_str(if self.half_carry() { "H" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/statusreg.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |         try!(f.write_str(if self.interrupt_enable() { "I" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/statusreg.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         try!(f.write_str(if self.zero() { "Z" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/statusreg.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         try!(f.write_str(if self.carry() { "C" } else { "-" }));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/timer.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl_save_state!(Timer { div, val, enabled, stage1, stage2 } ignore {});
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/timer.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl_save_state!(Timer { div, val, enabled, stage1, stage2 } ignore {});
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/lib.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | / impl_save_state!(Spc700 { mem, ipl_rom_mapped, reg_dsp_addr, io_vals, timers, dsp, a, x, y, sp, pc,
[INFO] [stdout] 72 | |     psw } ignore { cy, trace });
[INFO] [stdout]    | |_______________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/spc700/lib.rs:71:1
[INFO] [stdout]    |
[INFO] [stdout] 71 | / impl_save_state!(Spc700 { mem, ipl_rom_mapped, reg_dsp_addr, io_vals, timers, dsp, a, x, y, sp, pc,
[INFO] [stdout] 72 | |     psw } ignore { cy, trace });
[INFO] [stdout]    | |_______________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spc700/lib.rs:125:18
[INFO] [stdout]     |
[INFO] [stdout] 125 |             0xfa ... 0xfc =>
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spc700/lib.rs:129:18
[INFO] [stdout]     |
[INFO] [stdout] 129 |             0xf4 ... 0xf7 => self.io_vals[addr as usize - 0xf4],
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spc700/lib.rs:146:20
[INFO] [stdout]     |
[INFO] [stdout] 146 |             0xffc0 ... 0xffff if self.ipl_rom_mapped => IPL_ROM[addr as usize - 0xffc0],
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/spc700/lib.rs:185:18
[INFO] [stdout]     |
[INFO] [stdout] 185 |             0xfd ... 0xff => panic!("APU attempted to write to read-only register ${:04X}", addr),
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/spc700/once.rs:4:55
[INFO] [stdout]     |
[INFO] [stdout] 4   |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/spc700/lib.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 once!(warn!("read from write-only control register"));
[INFO] [stdout]     |                 ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/spc700/once.rs:6:38
[INFO] [stdout]     |
[INFO] [stdout] 6   |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/spc700/lib.rs:119:17
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 once!(warn!("read from write-only control register"));
[INFO] [stdout]     |                 ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 6   |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/spc700/once.rs:4:55
[INFO] [stdout]     |
[INFO] [stdout] 4   |           use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/spc700/lib.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 | /                     once!({
[INFO] [stdout] 159 | |                         warn!("SPC700 wrote ${:02X} to testing register ($f0)", val);
[INFO] [stdout] 160 | |                         warn!("As a safety measure, only $0a is allowed. This write will be \
[INFO] [stdout] 161 | |                             ignored! (This warning will only be printed for the first illegal \
[INFO] [stdout] 162 | |                             write)");
[INFO] [stdout] 163 | |                     });
[INFO] [stdout]     | |______________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/spc700/once.rs:6:38
[INFO] [stdout]     |
[INFO] [stdout] 6   |           static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/spc700/lib.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 158 | /                     once!({
[INFO] [stdout] 159 | |                         warn!("SPC700 wrote ${:02X} to testing register ($f0)", val);
[INFO] [stdout] 160 | |                         warn!("As a safety measure, only $0a is allowed. This write will be \
[INFO] [stdout] 161 | |                             ignored! (This warning will only be printed for the first illegal \
[INFO] [stdout] 162 | |                             write)");
[INFO] [stdout] 163 | |                     });
[INFO] [stdout]     | |______________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 6   |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/spc700/once.rs:4:55
[INFO] [stdout]     |
[INFO] [stdout] 4   |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/spc700/lib.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |             once!(warn!("`tcall {}` while IPL ROM is mapped!", p));
[INFO] [stdout]     |             ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/spc700/once.rs:6:38
[INFO] [stdout]     |
[INFO] [stdout] 6   |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/spc700/lib.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |             once!(warn!("`tcall {}` while IPL ROM is mapped!", p));
[INFO] [stdout]     |             ------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 6   |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/spc700/once.rs:4:55
[INFO] [stdout]     |
[INFO] [stdout] 4   |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/spc700/dsp.rs:171:29
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     0x08 => once!(warn!("ignoring write to envelope value")),
[INFO] [stdout]     |                             ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/spc700/once.rs:6:38
[INFO] [stdout]     |
[INFO] [stdout] 6   |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/spc700/dsp.rs:171:29
[INFO] [stdout]     |
[INFO] [stdout] 171 |                     0x08 => once!(warn!("ignoring write to envelope value")),
[INFO] [stdout]     |                             ------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 6   |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/spc700/once.rs:4:55
[INFO] [stdout]     |
[INFO] [stdout] 4   |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/spc700/dsp.rs:172:29
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     0x09 => once!(warn!("ignoring write to sample value")),
[INFO] [stdout]     |                             ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/spc700/once.rs:6:38
[INFO] [stdout]     |
[INFO] [stdout] 6   |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/spc700/dsp.rs:172:29
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     0x09 => once!(warn!("ignoring write to sample value")),
[INFO] [stdout]     |                             ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 6   |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling phf_codegen v0.7.21
[INFO] [stderr]     Checking breeze_cpal v0.1.0 (/opt/rustwide/workdir/src/breeze_cpal)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_cpal/lib.rs:21:23
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let formats = try!(endpoint.get_supported_formats_list()).collect::<Vec<_>>();
[INFO] [stdout]    |                       ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_cpal/lib.rs:36:21
[INFO] [stdout]    |
[INFO] [stdout] 36 |         let voice = try!(Voice::new(&endpoint, &format));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling target_build_utils v0.3.1
[INFO] [stdout] warning: 12 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wayland-client v0.5.12
[INFO] [stderr]    Compiling glutin v0.6.2
[INFO] [stderr]    Compiling glium v0.15.0
[INFO] [stderr]     Checking regex v0.2.2
[INFO] [stdout] warning: 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking breeze_core v0.1.0 (/opt/rustwide/workdir/src/breeze_core)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/dma.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | / impl_save_state!(DmaChannel { params, a_addr, a_addr_bank, b_addr, dma_size, hdma_indirect_bank,
[INFO] [stdout] 57 | |                               hdma_addr, hdma_flags, hdma_do_transfer } ignore {});
[INFO] [stdout]    | |__________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/breeze_core/lib.rs:1:9
[INFO] [stdout]    |
[INFO] [stdout] 1  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> /opt/rustwide/workdir/src/libsavestate/lib.rs:235:14
[INFO] [stdout]     |
[INFO] [stdout] 235 |             );*
[INFO] [stdout]     |              ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/dma.rs:56:1
[INFO] [stdout]    |
[INFO] [stdout] 56 | / impl_save_state!(DmaChannel { params, a_addr, a_addr_bank, b_addr, dma_size, hdma_indirect_bank,
[INFO] [stdout] 57 | |                               hdma_addr, hdma_flags, hdma_do_transfer } ignore {});
[INFO] [stdout]    | |__________________________________________________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> /opt/rustwide/workdir/src/libsavestate/lib.rs:246:14
[INFO] [stdout]     |
[INFO] [stdout] 246 |             );*
[INFO] [stdout]     |              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         try!(write!(writer, "SMV\x1A"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         try!(writer.write_u32::<LittleEndian>(4));  // SMV Version
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         try!(writer.write_u32::<LittleEndian>(0));  // uid (Unix timestamp in Snes9x)
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |         try!(writer.write_u32::<LittleEndian>(0));  // rerecord count (no idea what this does)
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 28 |         try!(writer.write_u32::<LittleEndian>(0xdeadbeef));    // Number of frames
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         try!(writer.write_u8(0));  // controller mask (FIXME)
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         try!(writer.write_u8(1));  // movie opts
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 32 |         try!(writer.write_u8(0));  // sync opts
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         try!(writer.write_u8(0));  // more (actual) sync opts
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         try!(writer.write_u32::<LittleEndian>(0x40));  // offset to save state / cart. RAM image
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         try!(writer.write_u32::<LittleEndian>(0x40 + 0x20000));  // offset to controller data
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:38:9
[INFO] [stdout]    |
[INFO] [stdout] 38 |         try!(writer.write_u32::<LittleEndian>(0xdeadbeef));  // num. of input samples
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |         try!(writer.write_u8(get_controller_type(&input.ports.0)));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |         try!(writer.write_u8(get_controller_type(&input.ports.1)));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 58 |         try!(writer.write_all(&[0; 18]));       // 18 bytes reserved for future use
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(writer.write_all(&[0; 0x20000]));   // empty SRAM image
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:56:13
[INFO] [stdout]    |
[INFO] [stdout] 56 |             try!(writer.write_i8(-1));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/mod.rs:73:45
[INFO] [stdout]    |
[INFO] [stdout] 73 |         RecordingFormat::Custom => Box::new(try!(custom::Recorder::new(writer, snes))),
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/mod.rs:74:42
[INFO] [stdout]    |
[INFO] [stdout] 74 |         RecordingFormat::Smv => Box::new(try!(smv::Recorder::new(writer, snes))),
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/mod.rs:84:45
[INFO] [stdout]    |
[INFO] [stdout] 84 |         RecordingFormat::Custom => Box::new(try!(custom::Replayer::new(reader, snes))),
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/record/mod.rs:85:42
[INFO] [stdout]    |
[INFO] [stdout] 85 |         RecordingFormat::Smv => Box::new(try!(smv::Replayer::new(reader, snes))),
[INFO] [stdout]    |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/ppu/rendering.rs:231:15
[INFO] [stdout]     |
[INFO] [stdout] 231 |             2 ... 5 => {
[INFO] [stdout]     |               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/breeze_core/ppu/sprites.rs:23:23
[INFO] [stdout]    |
[INFO] [stdout] 23 |     sprite_scanline: [(Option<SpritePixel>); super::SCREEN_WIDTH as usize],
[INFO] [stdout]    |                       ^                   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 23 -     sprite_scanline: [(Option<SpritePixel>); super::SCREEN_WIDTH as usize],
[INFO] [stdout] 23 +     sprite_scanline: [Option<SpritePixel>; super::SCREEN_WIDTH as usize],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_core/ppu/mod.rs:419:1
[INFO] [stdout]     |
[INFO] [stdout] 419 | / impl_save_state!(Ppu {
[INFO] [stdout] 420 | |     oam, cgram, vram, inidisp, obsel, oamaddl, oamaddh, oamaddr, oam_lsb, bgmode, mosaic, bg1sc,
[INFO] [stdout] 421 | |     bg2sc, bg3sc, bg4sc, bg12nba, bg34nba, bg1hofs, m7hofs, bg1vofs, m7vofs, bg2hofs, bg2vofs,
[INFO] [stdout] 422 | |     bg3hofs, bg3vofs, bg4hofs, bg4vofs, bg_old, m7_old, vmain, vmaddr, vram_prefetch, m7sel, m7a,
[INFO] [stdout] ...   |
[INFO] [stdout] 428 | |     framebuf, sprite_render_state, bg_cache
[INFO] [stdout] 429 | | });
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_core/ppu/mod.rs:419:1
[INFO] [stdout]     |
[INFO] [stdout] 419 | / impl_save_state!(Ppu {
[INFO] [stdout] 420 | |     oam, cgram, vram, inidisp, obsel, oamaddl, oamaddh, oamaddr, oam_lsb, bgmode, mosaic, bg1sc,
[INFO] [stdout] 421 | |     bg2sc, bg3sc, bg4sc, bg12nba, bg34nba, bg1hofs, m7hofs, bg1vofs, m7vofs, bg2hofs, bg2vofs,
[INFO] [stdout] 422 | |     bg3hofs, bg3vofs, bg4hofs, bg4vofs, bg_old, m7_old, vmain, vmaddr, vram_prefetch, m7sel, m7a,
[INFO] [stdout] ...   |
[INFO] [stdout] 428 | |     framebuf, sprite_render_state, bg_cache
[INFO] [stdout] 429 | | });
[INFO] [stdout]     | |__^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/ppu/mod.rs:507:20
[INFO] [stdout]     |
[INFO] [stdout] 507 |             0x210f ... 0x2114 => self.bg_store(addr, value),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/ppu/mod.rs:514:20
[INFO] [stdout]     |
[INFO] [stdout] 514 |             0x211b ... 0x2120 => self.m7_store(addr, value),
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/input/mod.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl_save_state!(Input { auto_read_data, latch, latched_this_frame } ignore { ports, mode });
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/input/mod.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl_save_state!(Input { auto_read_data, latch, latched_this_frame } ignore { ports, mode });
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/input/mod.rs:176:20
[INFO] [stdout]     |
[INFO] [stdout] 176 |             0x4218 ... 0x421f => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/breeze_core/rom.rs:95:22
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 0x20 ... 0x7E => {
[INFO] [stdout]    |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_core/rom.rs:174:1
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl_save_state!(Rom { ram } ignore { header, rom });
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_core/rom.rs:174:1
[INFO] [stdout]     |
[INFO] [stdout] 174 | impl_save_state!(Rom { ram } ignore { header, rom });
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:251:20
[INFO] [stdout]     |
[INFO] [stdout] 251 |             0x0000 ... 0x7fff => {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:255:26
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     0x70 ... 0x7d => {
[INFO] [stdout]     |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:259:26
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     0xfe ... 0xff => {
[INFO] [stdout]     |                          ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:271:20
[INFO] [stdout]     |
[INFO] [stdout] 271 |             0x8000 ... 0xffff => match bank {
[INFO] [stdout]     |                    ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:281:22
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 0x80 ... 0xfd | 0x00 ... 0x7d => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:281:38
[INFO] [stdout]     |
[INFO] [stdout] 281 |                 0x80 ... 0xfd | 0x00 ... 0x7d => {
[INFO] [stdout]     |                                      ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:295:18
[INFO] [stdout]     |
[INFO] [stdout] 295 |             0x00 ... 0x3f | 0x80 ... 0xbf if addr >= 0x8000 => {
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:295:34
[INFO] [stdout]     |
[INFO] [stdout] 295 |             0x00 ... 0x3f | 0x80 ... 0xbf if addr >= 0x8000 => {
[INFO] [stdout]     |                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:298:18
[INFO] [stdout]     |
[INFO] [stdout] 298 |             0x20 ... 0x3f | 0xa0 ... 0xbf if addr >= 0x6000 && addr <= 0x7fff => {
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:298:34
[INFO] [stdout]     |
[INFO] [stdout] 298 |             0x20 ... 0x3f | 0xa0 ... 0xbf if addr >= 0x6000 && addr <= 0x7fff => {
[INFO] [stdout]     |                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:302:18
[INFO] [stdout]     |
[INFO] [stdout] 302 |             0x40 ... 0x7d | 0xc0 ... 0xfd => {
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 |             0x40 ... 0x7d | 0xc0 ... 0xfd => {
[INFO] [stdout]     |                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:305:18
[INFO] [stdout]     |
[INFO] [stdout] 305 |             0x7e ... 0x7f => unreachable!(),    // WRAM banks
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/rom.rs:306:18
[INFO] [stdout]     |
[INFO] [stdout] 306 |             0xfe ... 0xff => {
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/save.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         try!(write!(w, "ZSNES Save State File V0.6"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/save.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 47 |         try!(w.write_all(&[26]));   // ASCII SUBstitute (note that reading can not rely
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/breeze_core/save.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         try!(w.write_all(&[60]));   // version #/100 (= 0.6)
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_core/snes.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout] 98  | / impl_save_state!(Peripherals {
[INFO] [stdout] 99  | |     apu, ppu, rom, wram, dma, hdmaen, nmien, wrio, wrmpya, wrmpyb, wrdiv, rddiv, rdmpy, htime,
[INFO] [stdout] 100 | |     vtime, memsel, nmi, irq, cy, input, wmaddl, wmaddm, wmaddh
[INFO] [stdout] 101 | | } ignore {});
[INFO] [stdout]     | |____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_core/snes.rs:98:1
[INFO] [stdout]     |
[INFO] [stdout] 98  | / impl_save_state!(Peripherals {
[INFO] [stdout] 99  | |     apu, ppu, rom, wram, dma, hdmaen, nmien, wrio, wrmpya, wrmpyb, wrdiv, rddiv, rdmpy, htime,
[INFO] [stdout] 100 | |     vtime, memsel, nmi, irq, cy, input, wmaddl, wmaddm, wmaddh
[INFO] [stdout] 101 | | } ignore {});
[INFO] [stdout]     | |____________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:144:18
[INFO] [stdout]     |
[INFO] [stdout] 144 |             0x00 ... 0x3f => match addr {
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:145:24
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 0x0000 ... 0x1fff | 0x6000 ... 0xffff => SLOW,
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:145:44
[INFO] [stdout]     |
[INFO] [stdout] 145 |                 0x0000 ... 0x1fff | 0x6000 ... 0xffff => SLOW,
[INFO] [stdout]     |                                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:146:24
[INFO] [stdout]     |
[INFO] [stdout] 146 |                 0x4000 ... 0x41ff => XSLOW,
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:149:18
[INFO] [stdout]     |
[INFO] [stdout] 149 |             0x40 ... 0x7f => SLOW,
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:150:18
[INFO] [stdout]     |
[INFO] [stdout] 150 |             0x80 ... 0xbf => match addr {
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:151:24
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 0x0000 ... 0x1fff | 0x6000 ... 0x7fff => SLOW,
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:151:44
[INFO] [stdout]     |
[INFO] [stdout] 151 |                 0x0000 ... 0x1fff | 0x6000 ... 0x7fff => SLOW,
[INFO] [stdout]     |                                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:152:24
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 0x4000 ... 0x41ff => XSLOW,
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:153:24
[INFO] [stdout]     |
[INFO] [stdout] 153 |                 0x8000 ... 0xffff => if self.memsel { FAST } else { SLOW },
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:156:18
[INFO] [stdout]     |
[INFO] [stdout] 156 |             0xc0 ... 0xff => if self.memsel { FAST } else { SLOW },
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:178:18
[INFO] [stdout]     |
[INFO] [stdout] 178 |             0x00 ... 0x3f | 0x80 ... 0xbf => match addr {
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:178:34
[INFO] [stdout]     |
[INFO] [stdout] 178 |             0x00 ... 0x3f | 0x80 ... 0xbf => match addr {
[INFO] [stdout]     |                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:180:24
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 0x0000 ... 0x1fff => self.wram[addr as usize],
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:182:24
[INFO] [stdout]     |
[INFO] [stdout] 182 |                 0x2100 ... 0x2133 => {
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:186:24
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 0x2134 ... 0x213f => self.ppu.load(addr),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:188:24
[INFO] [stdout]     |
[INFO] [stdout] 188 |                 0x2140 ... 0x217f => self.apu.read_port((addr & 0b11) as u8),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:193:24
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 0x2181 ... 0x2183 => {
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:228:24
[INFO] [stdout]     |
[INFO] [stdout] 228 |                 0x4218 ... 0x421f => self.input.load(addr),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:230:24
[INFO] [stdout]     |
[INFO] [stdout] 230 |                 0x4300 ... 0x43ff => self.dma[(addr as usize & 0x00f0) >> 4].load(addr as u8 & 0xf),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:231:24
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 0x6000 ... 0xffff => self.rom.load(bank, addr),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:239:18
[INFO] [stdout]     |
[INFO] [stdout] 239 |             0x40 ... 0x7d | 0xc0 ... 0xff => self.rom.load(bank, addr),
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:239:34
[INFO] [stdout]     |
[INFO] [stdout] 239 |             0x40 ... 0x7d | 0xc0 ... 0xff => self.rom.load(bank, addr),
[INFO] [stdout]     |                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:247:18
[INFO] [stdout]     |
[INFO] [stdout] 247 |             0x00 ... 0x3f | 0x80 ... 0xbf => match addr {
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:247:34
[INFO] [stdout]     |
[INFO] [stdout] 247 |             0x00 ... 0x3f | 0x80 ... 0xbf => match addr {
[INFO] [stdout]     |                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:248:24
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 0x0000 ... 0x1fff => self.wram[addr as usize] = value,
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:250:24
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 0x2100 ... 0x2133 => self.ppu.store(addr, value),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:251:24
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 0x2134 ... 0x213f => once!(warn!("store to read-only PPU register ${:04X}", addr)),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:253:24
[INFO] [stdout]     |
[INFO] [stdout] 253 |                 0x2140 ... 0x217f => self.apu.store_port((addr & 0b11) as u8, value),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:261:24
[INFO] [stdout]     |
[INFO] [stdout] 261 |                 0x2184 ... 0x21ff => once!(warn!("invalid store: ${:02X} to ${:02X}:{:04X}", value,
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:312:24
[INFO] [stdout]     |
[INFO] [stdout] 312 |                 0x4300 ... 0x43ff => {
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:315:24
[INFO] [stdout]     |
[INFO] [stdout] 315 |                 0x8000 ... 0xffff => self.rom.store(bank, addr, value),
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:320:18
[INFO] [stdout]     |
[INFO] [stdout] 320 |             0x40 ... 0x7d | 0xc0 ... 0xff => self.rom.store(bank, addr, value),
[INFO] [stdout]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:320:34
[INFO] [stdout]     |
[INFO] [stdout] 320 |             0x40 ... 0x7d | 0xc0 ... 0xff => self.rom.store(bank, addr, value),
[INFO] [stdout]     |                                  ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_core/snes.rs:341:1
[INFO] [stdout]     |
[INFO] [stdout] 341 | / impl_save_state!(Snes { cpu, master_cy, apu_master_cy_debt, ppu_master_cy_debt }
[INFO] [stdout] 342 | |     ignore { trace_start });
[INFO] [stdout]     | |___________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_core/snes.rs:341:1
[INFO] [stdout]     |
[INFO] [stdout] 341 | / impl_save_state!(Snes { cpu, master_cy, apu_master_cy_debt, ppu_master_cy_debt }
[INFO] [stdout] 342 | |     ignore { trace_start });
[INFO] [stdout]     | |___________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `impl_save_state_fns` which comes from the expansion of the macro `impl_save_state` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/breeze_core/snes.rs:414:24
[INFO] [stdout]     |
[INFO] [stdout] 414 |                     (0 ... 224, 278) => {
[INFO] [stdout]     |                        ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_core/snes.rs:421:39
[INFO] [stdout]     |
[INFO] [stdout] 421 |                         for action in try!(render(&self.cpu.mem.ppu.framebuf)) {
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_core/snes.rs:568:23
[INFO] [stdout]     |
[INFO] [stdout] 568 |         for action in try!(actions) {
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_core/snes.rs:580:16
[INFO] [stdout]     |
[INFO] [stdout] 580 |         while !try!(self.render_frame()) {}
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:537:40
[INFO] [stdout]     |
[INFO] [stdout] 537 |                 if value & 0xf0 != 0 { once!(warn!("invalid value for $212b: ${:02X}", value)); }
[INFO] [stdout]     |                                        ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:537:40
[INFO] [stdout]     |
[INFO] [stdout] 537 |                 if value & 0xf0 != 0 { once!(warn!("invalid value for $212b: ${:02X}", value)); }
[INFO] [stdout]     |                                        ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:541:40
[INFO] [stdout]     |
[INFO] [stdout] 541 |                 if value & 0xe0 != 0 { once!(warn!("invalid value for $212c: ${:02X}", value)); }
[INFO] [stdout]     |                                        ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:541:40
[INFO] [stdout]     |
[INFO] [stdout] 541 |                 if value & 0xe0 != 0 { once!(warn!("invalid value for $212c: ${:02X}", value)); }
[INFO] [stdout]     |                                        ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:545:40
[INFO] [stdout]     |
[INFO] [stdout] 545 |                 if value & 0xe0 != 0 { once!(warn!("invalid value for $212d: ${:02X}", value)); }
[INFO] [stdout]     |                                        ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:545:40
[INFO] [stdout]     |
[INFO] [stdout] 545 |                 if value & 0xe0 != 0 { once!(warn!("invalid value for $212d: ${:02X}", value)); }
[INFO] [stdout]     |                                        ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:549:40
[INFO] [stdout]     |
[INFO] [stdout] 549 |                 if value & 0xe0 != 0 { once!(warn!("invalid value for $212e: ${:02X}", value)); }
[INFO] [stdout]     |                                        ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:549:40
[INFO] [stdout]     |
[INFO] [stdout] 549 |                 if value & 0xe0 != 0 { once!(warn!("invalid value for $212e: ${:02X}", value)); }
[INFO] [stdout]     |                                        ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:553:40
[INFO] [stdout]     |
[INFO] [stdout] 553 |                 if value & 0xe0 != 0 { once!(warn!("invalid value for $212f: ${:02X}", value)); }
[INFO] [stdout]     |                                        ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:553:40
[INFO] [stdout]     |
[INFO] [stdout] 553 |                 if value & 0xe0 != 0 { once!(warn!("invalid value for $212f: ${:02X}", value)); }
[INFO] [stdout]     |                                        ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:567:40
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 if value & 0x08 != 0 { once!(warn!("pseudo-hires mode not yet implemented")); }
[INFO] [stdout]     |                                        ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:567:40
[INFO] [stdout]     |
[INFO] [stdout] 567 |                 if value & 0x08 != 0 { once!(warn!("pseudo-hires mode not yet implemented")); }
[INFO] [stdout]     |                                        ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:568:40
[INFO] [stdout]     |
[INFO] [stdout] 568 |                 if value & 0x04 != 0 { once!(warn!("overscan not yet implemented")); }
[INFO] [stdout]     |                                        -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:568:40
[INFO] [stdout]     |
[INFO] [stdout] 568 |                 if value & 0x04 != 0 { once!(warn!("overscan not yet implemented")); }
[INFO] [stdout]     |                                        -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:569:40
[INFO] [stdout]     |
[INFO] [stdout] 569 |                 if value & 0x03 != 0 { once!(warn!("interlace not yet implemented")); }
[INFO] [stdout]     |                                        --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/ppu/mod.rs:569:40
[INFO] [stdout]     |
[INFO] [stdout] 569 |                 if value & 0x03 != 0 { once!(warn!("interlace not yet implemented")); }
[INFO] [stdout]     |                                        --------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |           use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/input/mod.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 | /             once!(warn!("latch still active from older frame (might interfere with \
[INFO] [stdout] 125 | |                          recording); latch might be changed by emulator!"));
[INFO] [stdout]     | |___________________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |           static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/input/mod.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 124 | /             once!(warn!("latch still active from older frame (might interfere with \
[INFO] [stdout] 125 | |                          recording); latch might be changed by emulator!"));
[INFO] [stdout]     | |___________________________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |           use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/input/mod.rs:148:21
[INFO] [stdout]     |
[INFO] [stdout] 148 | /                     once!(warn!("reading data lines without prior latching (this can interfere \
[INFO] [stdout] 149 | |                                  with input recording)"));
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |           static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/input/mod.rs:148:21
[INFO] [stdout]     |
[INFO] [stdout] 148 | /                     once!(warn!("reading data lines without prior latching (this can interfere \
[INFO] [stdout] 149 | |                                  with input recording)"));
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |           use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/input/mod.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 192 | /                         once!(warn!("already latched input in this frame! (this might interfere \
[INFO] [stdout] 193 | |                                      with recording)"));
[INFO] [stdout]     | |_______________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |           static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/input/mod.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 192 | /                         once!(warn!("already latched input in this frame! (this might interfere \
[INFO] [stdout] 193 | |                                      with recording)"));
[INFO] [stdout]     | |_______________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     once!(warn!("read from write-only PPU register ${:04X}", addr));
[INFO] [stdout]     |                     --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:183:21
[INFO] [stdout]     |
[INFO] [stdout] 183 |                     once!(warn!("read from write-only PPU register ${:04X}", addr));
[INFO] [stdout]     |                     --------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:194:21
[INFO] [stdout]     |
[INFO] [stdout] 194 |                     once!(warn!("open-bus load from WRAM register ${:02X}", addr));
[INFO] [stdout]     |                     -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:194:21
[INFO] [stdout]     |
[INFO] [stdout] 194 |                     once!(warn!("open-bus load from WRAM register ${:02X}", addr));
[INFO] [stdout]     |                     -------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:233:21
[INFO] [stdout]     |
[INFO] [stdout] 233 |                     once!(warn!("invalid/unimplemented load from ${:02X}:{:04X}", bank, addr));
[INFO] [stdout]     |                     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:233:21
[INFO] [stdout]     |
[INFO] [stdout] 233 |                     once!(warn!("invalid/unimplemented load from ${:02X}:{:04X}", bank, addr));
[INFO] [stdout]     |                     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:251:38
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 0x2134 ... 0x213f => once!(warn!("store to read-only PPU register ${:04X}", addr)),
[INFO] [stdout]     |                                      ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:251:38
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 0x2134 ... 0x213f => once!(warn!("store to read-only PPU register ${:04X}", addr)),
[INFO] [stdout]     |                                      ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |           use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:261:38
[INFO] [stdout]     |
[INFO] [stdout] 261 |                   0x2184 ... 0x21ff => once!(warn!("invalid store: ${:02X} to ${:02X}:{:04X}", value,
[INFO] [stdout]     |  ______________________________________-
[INFO] [stdout] 262 | |                     bank, addr)),
[INFO] [stdout]     | |________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |           static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:261:38
[INFO] [stdout]     |
[INFO] [stdout] 261 |                   0x2184 ... 0x21ff => once!(warn!("invalid store: ${:02X} to ${:02X}:{:04X}", value,
[INFO] [stdout]     |  ______________________________________-
[INFO] [stdout] 262 | |                     bank, addr)),
[INFO] [stdout]     | |________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:11:55
[INFO] [stdout]     |
[INFO] [stdout] 11  |         use std::sync::atomic::{AtomicBool, Ordering, ATOMIC_BOOL_INIT};
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:273:44
[INFO] [stdout]     |
[INFO] [stdout] 273 |                     if value & 0x4e != 0 { once!(warn!("Invalid value for NMIEN: ${:02X}", value)) }
[INFO] [stdout]     |                                            ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::atomic::ATOMIC_BOOL_INIT`: the `new` function is now preferred
[INFO] [stdout]    --> src/breeze_core/log_util.rs:13:38
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = ATOMIC_BOOL_INIT;
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/breeze_core/snes.rs:273:44
[INFO] [stdout]     |
[INFO] [stdout] 273 |                     if value & 0x4e != 0 { once!(warn!("Invalid value for NMIEN: ${:02X}", value)) }
[INFO] [stdout]     |                                            ------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `once` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace the use of the deprecated constant
[INFO] [stdout]     |
[INFO] [stdout] 13  |         static REACHED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]     |                                      ~~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/custom.rs:25:17
[INFO] [stdout]    |
[INFO] [stdout] 25 |     writer: Box<WriteSeek>,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     writer: Box<dyn WriteSeek>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/custom.rs:41:17
[INFO] [stdout]    |
[INFO] [stdout] 41 |     reader: Box<BufRead>,
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     reader: Box<dyn BufRead>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     writer: Box<WriteSeek>,
[INFO] [stdout]    |                 ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     writer: Box<dyn WriteSeek>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |     reader: Box<BufRead>,
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 93 |     reader: Box<dyn BufRead>,
[INFO] [stdout]    |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/input/port.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 21 |         imp: Box<JoypadImpl>,
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |         imp: Box<dyn JoypadImpl>,
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/input/mod.rs:62:18
[INFO] [stdout]    |
[INFO] [stdout] 62 |     Recorded(Box<Recorder>),
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     Recorded(Box<dyn Recorder>),
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/input/mod.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Replayed(Box<Replayer>),
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Replayed(Box<dyn Replayer>),
[INFO] [stdout]    |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/mod.rs:68:36
[INFO] [stdout]    |
[INFO] [stdout] 68 |                        writer: Box<WriteSeek>,
[INFO] [stdout]    |                                    ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 68 |                        writer: Box<dyn WriteSeek>,
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/mod.rs:70:42
[INFO] [stdout]    |
[INFO] [stdout] 70 |                        -> io::Result<Box<Recorder>> {
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |                        -> io::Result<Box<dyn Recorder>> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/mod.rs:79:36
[INFO] [stdout]    |
[INFO] [stdout] 79 |                        reader: Box<BufRead>,
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 79 |                        reader: Box<dyn BufRead>,
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/mod.rs:81:42
[INFO] [stdout]    |
[INFO] [stdout] 81 |                        -> io::Result<Box<Replayer>> {
[INFO] [stdout]    |                                          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 81 |                        -> io::Result<Box<dyn Replayer>> {
[INFO] [stdout]    |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/mod.rs:45:24
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn new(writer: Box<WriteSeek>, snes: &Snes) -> io::Result<Self> where Self: Sized;
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn new(writer: Box<dyn WriteSeek>, snes: &Snes) -> io::Result<Self> where Self: Sized;
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/mod.rs:57:24
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn new(reader: Box<BufRead>, snes: &Snes) -> io::Result<Self> where Self: Sized;
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn new(reader: Box<dyn BufRead>, snes: &Snes) -> io::Result<Self> where Self: Sized;
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/custom.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn new(writer: Box<WriteSeek>, _snes: &Snes) -> io::Result<Self> {
[INFO] [stdout]    |                        ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn new(writer: Box<dyn WriteSeek>, _snes: &Snes) -> io::Result<Self> {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/custom.rs:45:24
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn new(reader: Box<BufRead>, _snes: &Snes) -> io::Result<Self> {
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 |     fn new(reader: Box<dyn BufRead>, _snes: &Snes) -> io::Result<Self> {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn new(mut writer: Box<WriteSeek>, snes: &Snes) -> io::Result<Self> {
[INFO] [stdout]    |                            ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn new(mut writer: Box<dyn WriteSeek>, snes: &Snes) -> io::Result<Self> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/record/smv.rs:97:24
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn new(reader: Box<BufRead>, _snes: &Snes) -> io::Result<Self> {
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 97 |     fn new(reader: Box<dyn BufRead>, _snes: &Snes) -> io::Result<Self> {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/input/mod.rs:92:48
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn start_recording(&mut self, rec: Box<Recorder>) {
[INFO] [stdout]    |                                                ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn start_recording(&mut self, rec: Box<dyn Recorder>) {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/breeze_core/input/mod.rs:101:50
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn start_replay(&mut self, replayer: Box<Replayer>) {
[INFO] [stdout]     |                                                  ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn start_replay(&mut self, replayer: Box<dyn Replayer>) {
[INFO] [stdout]     |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/input/port.rs:35:32
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn new_joypad(imp: Box<JoypadImpl>) -> Self {
[INFO] [stdout]    |                                ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn new_joypad(imp: Box<dyn JoypadImpl>) -> Self {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/save.rs:26:70
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn create_save_state(&self, format: SaveStateFormat, w: &mut Write) -> io::Result<()> {
[INFO] [stdout]    |                                                                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn create_save_state(&self, format: SaveStateFormat, w: &mut dyn Write) -> io::Result<()> {
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/save.rs:35:75
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn restore_save_state(&mut self, format: SaveStateFormat, r: &mut BufRead) -> io::Result<()> {
[INFO] [stdout]    |                                                                           ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn restore_save_state(&mut self, format: SaveStateFormat, r: &mut dyn BufRead) -> io::Result<()> {
[INFO] [stdout]    |                                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/save.rs:43:34
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn save_zsnes(&self, w: &mut Write) -> io::Result<()> {
[INFO] [stdout]    |                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn save_zsnes(&self, w: &mut dyn Write) -> io::Result<()> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_core/save.rs:54:39
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn load_zsnes(&mut self, _r: &mut BufRead) -> io::Result<()> {
[INFO] [stdout]    |                                       ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn load_zsnes(&mut self, _r: &mut dyn BufRead) -> io::Result<()> {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking breeze_sdl v0.1.0 (/opt/rustwide/workdir/src/breeze_sdl)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_sdl/lib.rs:126:25
[INFO] [stdout]     |
[INFO] [stdout] 126 |             let video = try!(sdl.video());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_sdl/lib.rs:127:26
[INFO] [stdout]     |
[INFO] [stdout] 127 |             let window = try!(video.window("breeze", SCREEN_WIDTH * 3, SCREEN_HEIGHT * 3)
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_sdl/lib.rs:130:28
[INFO] [stdout]     |
[INFO] [stdout] 130 |             let renderer = try!(window.renderer()
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_sdl/lib.rs:134:27
[INFO] [stdout]     |
[INFO] [stdout] 134 |             let texture = try!(renderer.create_texture(
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/breeze_sdl/lib.rs:123:37
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn create() -> Result<Self, Box<Error>> {
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn create() -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]   --> src/breeze_core/rom.rs:31:75
[INFO] [stdout]    |
[INFO] [stdout] 31 |         info!("ROM name: '{}'", str::from_utf8(&self.title).unwrap_or("").trim_right());
[INFO] [stdout]    |                                                                           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 31 |         info!("ROM name: '{}'", str::from_utf8(&self.title).unwrap_or("").trim_end());
[INFO] [stdout]    |                                                                           ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/breeze_core/rom.rs:109:64
[INFO] [stdout]     |
[INFO] [stdout] 109 |         debug!("loading '{}'", str::from_utf8(&title).unwrap().trim_right());
[INFO] [stdout]     |                                                                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 109 |         debug!("loading '{}'", str::from_utf8(&title).unwrap().trim_end());
[INFO] [stdout]     |                                                                ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right`: superseded by `trim_end`
[INFO] [stdout]    --> src/breeze_core/rom.rs:246:59
[INFO] [stdout]     |
[INFO] [stdout] 246 |         str::from_utf8(&self.header.title).ok().map(|s| s.trim_right())
[INFO] [stdout]     |                                                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 246 |         str::from_utf8(&self.header.title).ok().map(|s| s.trim_end())
[INFO] [stdout]     |                                                           ~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/breeze_core/rom.rs:288:13
[INFO] [stdout]     |
[INFO] [stdout] 288 |             _ => unreachable!()
[INFO] [stdout]     |             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` implied by `#[warn(warnings)]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/breeze_core/snes.rs:157:13
[INFO] [stdout]     |
[INFO] [stdout] 157 |             _ => FAST,
[INFO] [stdout]     |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/breeze_core/snes.rs:240:13
[INFO] [stdout]     |
[INFO] [stdout] 240 |             _ => unreachable!(),    // Rust should know this!
[INFO] [stdout]     |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/breeze_core/snes.rs:321:13
[INFO] [stdout]     |
[INFO] [stdout] 321 |             _ => unreachable!(),    // Rust should know this!
[INFO] [stdout]     |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 161 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking env_logger v0.4.3
[INFO] [stderr]    Compiling serde_json v0.9.10
[INFO] [stderr]    Compiling libloading v0.3.4
[INFO] [stderr]     Checking dlib v0.3.1
[INFO] [stderr]     Checking wayland-sys v0.5.11
[INFO] [stderr]     Checking wayland-kbd v0.3.6
[INFO] [stderr]     Checking wayland-window v0.2.3
[INFO] [stderr]     Checking breeze_glium v0.1.0 (/opt/rustwide/workdir/src/breeze_glium)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_glium/lib.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let display = try!(WindowBuilder::new()
[INFO] [stdout]     |                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_glium/lib.rs:119:24
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let mut vbuf = try!(VertexBuffer::empty_dynamic(&display, 4));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_glium/lib.rs:124:22
[INFO] [stdout]     |
[INFO] [stdout] 124 |             program: try!(
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/breeze_glium/lib.rs:126:22
[INFO] [stdout]     |
[INFO] [stdout] 126 |             texture: try!(SrgbTexture2d::empty(&display, SCREEN_WIDTH, SCREEN_HEIGHT)),
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/breeze_glium/lib.rs:113:37
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn create() -> Result<Self, Box<Error>> {
[INFO] [stdout]     |                                     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 113 |     fn create() -> Result<Self, Box<dyn Error>> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking breeze_backends v0.1.0 (/opt/rustwide/workdir/src/breeze_backends)
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/breeze_backends/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / lazy_static! {
[INFO] [stdout] 35 | |     pub static ref RENDERER_MAP: RendererMap = {
[INFO] [stdout] 36 | |         fn make<R: Renderer + 'static>() -> Result<Box<Renderer>, Box<Error>> {
[INFO] [stdout] 37 | |             R::create().map(|r| Box::new(r) as Box<_>)
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     };
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/breeze_backends/lib.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout] 8  | #![deny(warnings)]
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    = note: `#[warn(deprecated)]` implied by `#[warn(warnings)]`
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/breeze_backends/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / lazy_static! {
[INFO] [stdout] 35 | |     pub static ref RENDERER_MAP: RendererMap = {
[INFO] [stdout] 36 | |         fn make<R: Renderer + 'static>() -> Result<Box<Renderer>, Box<Error>> {
[INFO] [stdout] 37 | |             R::create().map(|r| Box::new(r) as Box<_>)
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     };
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/breeze_backends/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / lazy_static! {
[INFO] [stdout] 35 | |     pub static ref RENDERER_MAP: RendererMap = {
[INFO] [stdout] 36 | |         fn make<R: Renderer + 'static>() -> Result<Box<Renderer>, Box<Error>> {
[INFO] [stdout] 37 | |             R::create().map(|r| Box::new(r) as Box<_>)
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     };
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/breeze_backends/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / lazy_static! {
[INFO] [stdout] 35 | |     pub static ref RENDERER_MAP: RendererMap = {
[INFO] [stdout] 36 | |         fn make<R: Renderer + 'static>() -> Result<Box<Renderer>, Box<Error>> {
[INFO] [stdout] 37 | |             R::create().map(|r| Box::new(r) as Box<_>)
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     };
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/breeze_backends/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / lazy_static! {
[INFO] [stdout] 35 | |     pub static ref RENDERER_MAP: RendererMap = {
[INFO] [stdout] 36 | |         fn make<R: Renderer + 'static>() -> Result<Box<Renderer>, Box<Error>> {
[INFO] [stdout] 37 | |             R::create().map(|r| Box::new(r) as Box<_>)
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     };
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/breeze_backends/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / lazy_static! {
[INFO] [stdout] 35 | |     pub static ref RENDERER_MAP: RendererMap = {
[INFO] [stdout] 36 | |         fn make<R: Renderer + 'static>() -> Result<Box<Renderer>, Box<Error>> {
[INFO] [stdout] 37 | |             R::create().map(|r| Box::new(r) as Box<_>)
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     };
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/breeze_backends/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / lazy_static! {
[INFO] [stdout] 35 | |     pub static ref RENDERER_MAP: RendererMap = {
[INFO] [stdout] 36 | |         fn make<R: Renderer + 'static>() -> Result<Box<Renderer>, Box<Error>> {
[INFO] [stdout] 37 | |             R::create().map(|r| Box::new(r) as Box<_>)
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     };
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/breeze_backends/lib.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / lazy_static! {
[INFO] [stdout] 35 | |     pub static ref RENDERER_MAP: RendererMap = {
[INFO] [stdout] 36 | |         fn make<R: Renderer + 'static>() -> Result<Box<Renderer>, Box<Error>> {
[INFO] [stdout] 37 | |             R::create().map(|r| Box::new(r) as Box<_>)
[INFO] [stdout] ...  |
[INFO] [stdout] 94 | |     };
[INFO] [stdout] 95 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:31:73
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type RendererMap = BTreeMap<&'static str, Option<fn() -> Result<Box<Renderer>, Box<Error>>>>;
[INFO] [stdout]    |                                                                         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` implied by `#[warn(warnings)]`
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type RendererMap = BTreeMap<&'static str, Option<fn() -> Result<Box<dyn Renderer>, Box<Error>>>>;
[INFO] [stdout]    |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:31:88
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type RendererMap = BTreeMap<&'static str, Option<fn() -> Result<Box<Renderer>, Box<Error>>>>;
[INFO] [stdout]    |                                                                                        ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type RendererMap = BTreeMap<&'static str, Option<fn() -> Result<Box<Renderer>, Box<dyn Error>>>>;
[INFO] [stdout]    |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:32:70
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub type AudioMap = BTreeMap<&'static str, Option<fn() -> Result<Box<AudioSink>, Box<Error>>>>;
[INFO] [stdout]    |                                                                      ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub type AudioMap = BTreeMap<&'static str, Option<fn() -> Result<Box<dyn AudioSink>, Box<Error>>>>;
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:32:86
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub type AudioMap = BTreeMap<&'static str, Option<fn() -> Result<Box<AudioSink>, Box<Error>>>>;
[INFO] [stdout]    |                                                                                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub type AudioMap = BTreeMap<&'static str, Option<fn() -> Result<Box<AudioSink>, Box<dyn Error>>>>;
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:36:56
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn make<R: Renderer + 'static>() -> Result<Box<Renderer>, Box<Error>> {
[INFO] [stdout]    |                                                        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn make<R: Renderer + 'static>() -> Result<Box<dyn Renderer>, Box<Error>> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:36:71
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn make<R: Renderer + 'static>() -> Result<Box<Renderer>, Box<Error>> {
[INFO] [stdout]    |                                                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 |         fn make<R: Renderer + 'static>() -> Result<Box<Renderer>, Box<dyn Error>> {
[INFO] [stdout]    |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:40:51
[INFO] [stdout]    |
[INFO] [stdout] 40 |         type MapEntry = Option<fn() -> Result<Box<Renderer>, Box<Error>>>;
[INFO] [stdout]    |                                                   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         type MapEntry = Option<fn() -> Result<Box<dyn Renderer>, Box<Error>>>;
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:40:66
[INFO] [stdout]    |
[INFO] [stdout] 40 |         type MapEntry = Option<fn() -> Result<Box<Renderer>, Box<Error>>>;
[INFO] [stdout]    |                                                                  ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |         type MapEntry = Option<fn() -> Result<Box<Renderer>, Box<dyn Error>>>;
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:71:57
[INFO] [stdout]    |
[INFO] [stdout] 71 |         fn make<A: AudioSink + 'static>() -> Result<Box<AudioSink>, Box<Error>> {
[INFO] [stdout]    |                                                         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 71 |         fn make<A: AudioSink + 'static>() -> Result<Box<dyn AudioSink>, Box<Error>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:71:73
[INFO] [stdout]    |
[INFO] [stdout] 71 |         fn make<A: AudioSink + 'static>() -> Result<Box<AudioSink>, Box<Error>> {
[INFO] [stdout]    |                                                                         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 71 |         fn make<A: AudioSink + 'static>() -> Result<Box<AudioSink>, Box<dyn Error>> {
[INFO] [stdout]    |                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:75:51
[INFO] [stdout]    |
[INFO] [stdout] 75 |         type MapEntry = Option<fn() -> Result<Box<AudioSink>, Box<Error>>>;
[INFO] [stdout]    |                                                   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |         type MapEntry = Option<fn() -> Result<Box<dyn AudioSink>, Box<Error>>>;
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/breeze_backends/lib.rs:75:67
[INFO] [stdout]    |
[INFO] [stdout] 75 |         type MapEntry = Option<fn() -> Result<Box<AudioSink>, Box<Error>>>;
[INFO] [stdout]    |                                                                   ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |         type MapEntry = Option<fn() -> Result<Box<AudioSink>, Box<dyn Error>>>;
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]  Documenting breeze v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 11.06s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]    Generated /opt/rustwide/target/doc/breeze/index.html
[INFO] running `Command { std: "docker" "inspect" "5a93ad07595d9e7d29710a3ff74d8e155cd0a840fb63a8bfb8cf803a7e6bb9e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a93ad07595d9e7d29710a3ff74d8e155cd0a840fb63a8bfb8cf803a7e6bb9e4", kill_on_drop: false }`
[INFO] [stdout] 5a93ad07595d9e7d29710a3ff74d8e155cd0a840fb63a8bfb8cf803a7e6bb9e4
