[INFO] cloning repository https://github.com/Yamakaky/dcpu
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Yamakaky/dcpu" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYamakaky%2Fdcpu", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYamakaky%2Fdcpu'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 0a2e26f9867a3bd0509eddfb2aaec3fba153e3ce
[INFO] testing Yamakaky/dcpu against 1.75.0 for beta-1.76-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYamakaky%2Fdcpu" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Yamakaky/dcpu 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/Yamakaky/dcpu
[INFO] finished tweaking git repo https://github.com/Yamakaky/dcpu
[INFO] tweaked toml for git repo https://github.com/Yamakaky/dcpu written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Yamakaky/dcpu 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]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating git repository `https://github.com/carllerche/bytes`
[INFO] [stderr]     Updating git repository `https://github.com/Yamakaky/tokio-length-prefix`
[INFO] [stderr]     Updating git repository `https://github.com/tokio-rs/tokio-proto`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/tokio-rs/tokio-service`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded phf_codegen v0.7.21
[INFO] [stderr]   Downloaded phf_shared v0.7.21
[INFO] [stderr]   Downloaded image v0.10.4
[INFO] [stderr]   Downloaded strsim v0.5.2
[INFO] [stderr]   Downloaded inflate v0.1.1
[INFO] [stderr]   Downloaded byteorder v0.5.3
[INFO] [stderr]   Downloaded rustc_version v0.1.7
[INFO] [stderr]   Downloaded objc v0.2.2
[INFO] [stderr]   Downloaded backtrace v0.2.3
[INFO] [stderr]   Downloaded thread_local v0.3.2
[INFO] [stderr]   Downloaded clap v2.20.3
[INFO] [stderr]   Downloaded unicode-normalization v0.1.3
[INFO] [stderr]   Downloaded khronos_api v1.0.0
[INFO] [stderr]   Downloaded serde_derive v0.8.23
[INFO] [stderr]   Downloaded lazy_static v0.1.16
[INFO] [stderr]   Downloaded glium v0.16.0
[INFO] [stderr]   Downloaded regex v0.2.1
[INFO] [stderr]   Downloaded serde_derive v0.9.6
[INFO] [stderr]   Downloaded backtrace-sys v0.1.6
[INFO] [stderr]   Downloaded strsim v0.6.0
[INFO] [stderr]   Downloaded cfg-if v0.1.0
[INFO] [stderr]   Downloaded core-graphics v0.3.2
[INFO] [stderr]   Downloaded gl_generator v0.5.2
[INFO] [stderr]   Downloaded syn v0.10.8
[INFO] [stderr]   Downloaded miow v0.2.0
[INFO] [stderr]   Downloaded serde_json v0.9.5
[INFO] [stderr]   Downloaded colored v1.4.0
[INFO] [stderr]   Downloaded simplelog v0.4.2
[INFO] [stderr]   Downloaded net2 v0.2.26
[INFO] [stderr]   Downloaded mio v0.6.4
[INFO] [stderr]   Downloaded serde_codegen v0.8.23
[INFO] [stderr]   Downloaded tokio-core v0.1.4
[INFO] [stderr]   Downloaded futures v0.1.10
[INFO] [stderr]   Downloaded serde v0.9.6
[INFO] [stderr]   Downloaded ansi_term v0.9.0
[INFO] [stderr]   Downloaded term_size v0.2.2
[INFO] [stderr]   Downloaded unicode-segmentation v1.0.1
[INFO] [stderr]   Downloaded cargo_metadata v0.1.1
[INFO] [stderr]   Downloaded matches v0.1.4
[INFO] [stderr]   Downloaded quine-mc_cluskey v0.2.4
[INFO] [stderr]   Downloaded nom v1.2.4
[INFO] [stderr]   Downloaded scoped_threadpool v0.1.7
[INFO] [stderr]   Downloaded libc v0.2.20
[INFO] [stderr]   Downloaded clippy v0.0.113
[INFO] [stderr]   Downloaded regex-syntax v0.4.0
[INFO] [stderr]   Downloaded siphasher v0.2.1
[INFO] [stderr]   Downloaded winit v0.5.10
[INFO] [stderr]   Downloaded nom v2.1.0
[INFO] [stderr]   Downloaded itoa v0.3.0
[INFO] [stderr]   Downloaded docopt v0.6.86
[INFO] [stderr]   Downloaded miniz-sys v0.1.9
[INFO] [stderr]   Downloaded term v0.4.4
[INFO] [stderr]   Downloaded cocoa v0.5.2
[INFO] [stderr]   Downloaded time v0.1.36
[INFO] [stderr]   Downloaded nix v0.5.1
[INFO] [stderr]   Downloaded xml-rs v0.3.5
[INFO] [stderr]   Downloaded jpeg-decoder v0.1.11
[INFO] [stderr]   Downloaded flate2 v0.2.17
[INFO] [stderr]   Downloaded gif v0.9.0
[INFO] [stderr]   Downloaded wayland-kbd v0.6.3
[INFO] [stderr]   Downloaded gcc v0.3.43
[INFO] [stderr]   Downloaded rayon v0.6.0
[INFO] [stderr]   Downloaded png v0.5.2
[INFO] [stderr]   Downloaded aho-corasick v0.6.1
[INFO] [stderr]   Downloaded clippy_lints v0.0.113
[INFO] [stderr]   Downloaded memmap v0.4.0
[INFO] [stderr]   Downloaded glutin v0.7.4
[INFO] [stderr]   Downloaded serde v0.8.23
[INFO] [stderr]   Downloaded dtoa v0.4.0
[INFO] [stderr]   Downloaded wayland-client v0.7.7
[INFO] [stderr]   Downloaded toml v0.2.1
[INFO] [stderr]   Downloaded docopt v0.7.0
[INFO] [stderr]   Downloaded dbghelp-sys v0.2.0
[INFO] [stderr]   Downloaded cocoa v0.3.3
[INFO] [stderr]   Downloaded gleam v0.2.32
[INFO] [stderr]   Downloaded core-foundation v0.2.3
[INFO] [stderr]   Downloaded core-graphics v0.4.2
[INFO] [stderr]   Downloaded x11-dl v2.12.0
[INFO] [stderr]   Downloaded encode_unicode v0.1.3
[INFO] [stderr]   Downloaded rustyline v1.0.0
[INFO] [stderr]   Downloaded syn v0.11.4
[INFO] [stderr]   Downloaded serde_json v0.8.6
[INFO] [stderr]   Downloaded vec_map v0.6.0
[INFO] [stderr]   Downloaded semver v0.2.3
[INFO] [stderr]   Downloaded memchr v1.0.1
[INFO] [stderr]   Downloaded backtrace v0.3.0
[INFO] [stderr]   Downloaded error-chain v0.7.2
[INFO] [stderr]   Downloaded bitflags v0.3.3
[INFO] [stderr]   Downloaded serde v0.7.15
[INFO] [stderr]   Downloaded android_glue v0.2.1
[INFO] [stderr]   Downloaded core-foundation-sys v0.2.3
[INFO] [stderr]   Downloaded user32-sys v0.1.2
[INFO] [stderr]   Downloaded dtoa v0.2.2
[INFO] [stderr]   Downloaded wayland-window v0.4.4
[INFO] [stderr]   Downloaded bitflags v0.4.0
[INFO] [stderr]   Downloaded deque v0.3.1
[INFO] [stderr]   Downloaded dwmapi-sys v0.1.0
[INFO] [stderr]   Downloaded semver v0.1.20
[INFO] [stderr]   Downloaded libloading v0.3.1
[INFO] [stderr]   Downloaded utf8-ranges v1.0.0
[INFO] [stderr]   Downloaded rustc-demangle v0.1.3
[INFO] [stderr]   Downloaded fs2 v0.2.5
[INFO] [stderr]   Downloaded tempfile v2.1.5
[INFO] [stderr]   Downloaded wayland-scanner v0.7.7
[INFO] [stderr]   Downloaded wayland-sys v0.7.7
[INFO] [stderr]   Downloaded serde_codegen_internals v0.11.3
[INFO] [stderr]   Downloaded target_build_utils v0.1.2
[INFO] [stderr]   Downloaded serde_codegen_internals v0.13.0
[INFO] [stderr]   Downloaded quote v0.3.12
[INFO] [stderr]   Downloaded enum_primitive v0.1.1
[INFO] [stderr]   Downloaded color_quant v1.0.0
[INFO] [stderr]   Downloaded phf_generator v0.7.21
[INFO] [stderr]   Downloaded dlib v0.3.1
[INFO] [stderr]   Downloaded phf v0.7.21
[INFO] [stderr]   Downloaded num_cpus v1.2.1
[INFO] [stderr]   Downloaded itoa v0.1.1
[INFO] [stderr]   Downloaded smallvec v0.1.8
[INFO] [stderr]   Downloaded log v0.3.6
[INFO] [stderr]   Downloaded thread-id v3.0.0
[INFO] [stderr]   Downloaded unreachable v0.1.1
[INFO] [stderr]   Downloaded fnv v1.0.5
[INFO] [stderr]   Downloaded cgl v0.1.5
[INFO] [stderr]   Downloaded gdi32-sys v0.1.1
[INFO] [stderr]   Downloaded shared_library v0.1.5
[INFO] [stderr]   Downloaded shell32-sys v0.1.1
[INFO] [stderr]   Downloaded redox_syscall v0.1.16
[INFO] [stderr]   Downloaded lazy_static v0.2.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 9e914eb175e5ad0244580023f0222067cd5b339aa370de3f2b94c52ddb800036
[INFO] running `Command { std: "docker" "start" "-a" "9e914eb175e5ad0244580023f0222067cd5b339aa370de3f2b94c52ddb800036", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e914eb175e5ad0244580023f0222067cd5b339aa370de3f2b94c52ddb800036", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e914eb175e5ad0244580023f0222067cd5b339aa370de3f2b94c52ddb800036", kill_on_drop: false }`
[INFO] [stdout] 9e914eb175e5ad0244580023f0222067cd5b339aa370de3f2b94c52ddb800036
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] afe01f10f6a40b16d3621df2c298318c09054cad9d46fa57ea705fb6d89a34e9
[INFO] running `Command { std: "docker" "start" "-a" "afe01f10f6a40b16d3621df2c298318c09054cad9d46fa57ea705fb6d89a34e9", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.20
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling siphasher v0.2.1
[INFO] [stderr]    Compiling bitflags v0.7.0
[INFO] [stderr]    Compiling num-traits v0.1.36
[INFO] [stderr]    Compiling lazy_static v0.2.2
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling serde v0.8.23
[INFO] [stderr]    Compiling dtoa v0.2.2
[INFO] [stderr]    Compiling itoa v0.1.1
[INFO] [stderr]    Compiling log v0.3.6
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling gcc v0.3.43
[INFO] [stderr]    Compiling khronos_api v1.0.0
[INFO] [stderr]    Compiling cfg-if v0.1.0
[INFO] [stderr]    Compiling x11-dl v2.12.0
[INFO] [stderr]    Compiling xml-rs v0.3.5
[INFO] [stderr]    Compiling rustc-demangle v0.1.3
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling backtrace v0.3.0
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling dbghelp-sys v0.2.0
[INFO] [stderr]    Compiling unreachable v0.1.1
[INFO] [stderr]    Compiling phf_shared v0.7.21
[INFO] [stderr]    Compiling quote v0.3.12
[INFO] [stderr]    Compiling unicode-xid v0.0.4
[INFO] [stderr]    Compiling backtrace v0.2.3
[INFO] [stderr]    Compiling phf v0.7.21
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]    Compiling strsim v0.6.0
[INFO] [stderr]    Compiling utf8-ranges v1.0.0
[INFO] [stderr]    Compiling bitflags v0.4.0
[INFO] [stderr]    Compiling regex-syntax v0.4.0
[INFO] [stderr]    Compiling rand v0.3.15
[INFO] [stderr]    Compiling shared_library v0.1.5
[INFO] [stderr]    Compiling memchr v1.0.1
[INFO] [stderr]    Compiling tempfile v2.1.5
[INFO] [stderr]    Compiling thread-id v3.0.0
[INFO] [stderr]    Compiling syn v0.11.4
[INFO] [stderr]    Compiling nix v0.5.1
[INFO] [stderr]    Compiling thread_local v0.3.2
[INFO] [stderr]    Compiling fs2 v0.2.5
[INFO] [stderr]    Compiling aho-corasick v0.6.1
[INFO] [stderr]    Compiling osmesa-sys v0.1.2
[INFO] [stderr]    Compiling memmap v0.4.0
[INFO] [stderr]    Compiling term v0.4.4
[INFO] [stderr]    Compiling term_size v0.2.2
[INFO] [stderr]    Compiling time v0.1.36
[INFO] [stderr]    Compiling smallvec v0.1.8
[INFO] [stderr]    Compiling wayland-scanner v0.7.7
[INFO] [stderr]    Compiling gl_generator v0.5.2
[INFO] [stderr]    Compiling backtrace-sys v0.1.6
[INFO] [stderr]    Compiling unicode-segmentation v1.0.1
[INFO] [stderr]    Compiling rustc-serialize v0.3.22
[INFO] [stderr]    Compiling dtoa v0.4.0
[INFO] [stderr]    Compiling vec_map v0.6.0
[INFO] [stderr]    Compiling serde v0.9.6
[INFO] [stderr]    Compiling ansi_term v0.9.0
[INFO] [stderr]    Compiling lazy_static v0.1.16
[INFO] [stderr]    Compiling fnv v1.0.5
[INFO] [stderr]    Compiling encode_unicode v0.1.3
[INFO] [stderr]    Compiling itoa v0.3.0
[INFO] [stderr]    Compiling colored v1.4.0
[INFO] [stderr]    Compiling glutin v0.7.4
[INFO] [stderr]    Compiling wayland-client v0.7.7
[INFO] [stderr]    Compiling glium v0.16.0
[INFO] [stderr]    Compiling phf_generator v0.7.21
[INFO] [stderr]    Compiling phf_codegen v0.7.21
[INFO] [stderr]    Compiling serde_codegen_internals v0.13.0
[INFO] [stderr]    Compiling regex v0.2.1
[INFO] [stderr]    Compiling target_build_utils v0.1.2
[INFO] [stderr]    Compiling rustyline v1.0.0
[INFO] [stderr]    Compiling clap v2.20.3
[INFO] [stderr]    Compiling simplelog v0.4.2
[INFO] [stderr]    Compiling enum_primitive v0.1.1
[INFO] [stderr]    Compiling nom v2.1.0
[INFO] [stderr]    Compiling serde_derive v0.9.6
[INFO] [stderr]    Compiling serde_json v0.8.6
[INFO] [stderr]    Compiling docopt v0.7.0
[INFO] [stderr]    Compiling serde_json v0.9.5
[INFO] [stderr]    Compiling libloading v0.3.1
[INFO] [stderr]    Compiling dlib v0.3.1
[INFO] [stderr]    Compiling wayland-sys v0.7.7
[INFO] [stderr]    Compiling wayland-kbd v0.6.3
[INFO] [stderr]    Compiling wayland-window v0.4.4
[INFO] [stderr]    Compiling winit v0.5.10
[INFO] [stderr]    Compiling error-chain v0.7.2
[INFO] [stderr]    Compiling dcpu v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/linker.rs:34:22
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut labels = try!(extract_labels(ast));
[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/assembler/linker.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |                     index += try!(d.append_to(&mut bin, &labels, &last_global)),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/linker.rs:77:34
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     let solved = try!(i.solve(&labels, &last_global));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/linker.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     try!(Err(ErrorKind::DuplicatedLabel(s.clone())));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/linker.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |                     try!(Err(ErrorKind::LocalBeforeGlobal(s.clone())));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/linker.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     try!(Err(ErrorKind::DuplicatedLocalLabel(s.clone())));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/parser/mod.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             try!(Err(format!("Unknown (line {}, row {}): \"{}\"",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/parser/mod.rs:33:30
[INFO] [stdout]    |
[INFO] [stdout] 33 |         IResult::Error(e) => try!(Err(ErrorKind::Nom(format!("{}", e)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/parser/mod.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |         e => try!(Err(format!("Error: {:?}", e))),
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/types.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 | ...                   bin.push(try!(e.solve(labels, last_global)));
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/assembler/types.rs:67:28
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 bin.resize((n as usize), val);
[INFO] [stdout]    |                            ^          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -                 bin.resize((n as usize), val);
[INFO] [stdout] 67 +                 bin.resize(n as usize, val);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:105:41
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...                   try!(b.solve(globals, last_global)),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:106:41
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...                   try!(a.solve(globals, last_global))))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:110:43
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...                   try!(a.solve(globals, last_global))))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:123:40
[INFO] [stdout]     |
[INFO] [stdout] 123 |                 Ok(Value::AtRegPlus(r, try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:127:32
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 Ok(Value::Pick(try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:132:34
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 Ok(Value::AtAddr(try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:134:36
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 Ok(Value::Litteral(try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:166:29
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     None => try!(Err(ErrorKind::UnknownLabel(s.clone()))),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:176:29
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     None => try!(Err(ErrorKind::UnknownLocalLabel(s.clone()))),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 Ok(try!(l.solve(globals, last_global)).wrapping_add(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:181:69
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 Ok(try!(l.solve(globals, last_global)).wrapping_add(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:184:20
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 Ok(try!(l.solve(globals, last_global)).wrapping_sub(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:184:69
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 Ok(try!(l.solve(globals, last_global)).wrapping_sub(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:187:20
[INFO] [stdout]     |
[INFO] [stdout] 187 |                 Ok(try!(l.solve(globals, last_global)).wrapping_mul(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:187:69
[INFO] [stdout]     |
[INFO] [stdout] 187 |                 Ok(try!(l.solve(globals, last_global)).wrapping_mul(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:190:20
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 Ok(try!(l.solve(globals, last_global)).wrapping_div(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:190:69
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 Ok(try!(l.solve(globals, last_global)).wrapping_div(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:193:20
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 Ok(try!(l.solve(globals, last_global)) >> try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:193:59
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 Ok(try!(l.solve(globals, last_global)) >> try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:196:20
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 Ok(try!(l.solve(globals, last_global)) << try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:196:59
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 Ok(try!(l.solve(globals, last_global)) << try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Ok(try!(l.solve(globals, last_global)) % try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:199:58
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Ok(try!(l.solve(globals, last_global)) % try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:202:23
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 Ok(if try!(l.solve(globals, last_global)) == 0 {1} else {0})
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 Ok((try!(l.solve(globals, last_global)) <
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:206:21
[INFO] [stdout]     |
[INFO] [stdout] 206 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:209:21
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Ok((try!(l.solve(globals, last_global)) ==
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:210:21
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:213:21
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 Ok((try!(l.solve(globals, last_global)) >
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:214:21
[INFO] [stdout]     |
[INFO] [stdout] 214 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/byteorder.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             try!(self.write_item::<I, B>(item.clone()));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/byteorder.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         try!(self.read_exact(buf.as_mut()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byteorder.rs:54:38
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn encode_to_big_endian<I: Item>(&mut I::Buf);
[INFO] [stdout]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut I::Buf`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byteorder.rs:55:40
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn decode_from_big_endian<I: Item>(&mut I::Buf);
[INFO] [stdout]    |                                        ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut I::Buf`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byteorder.rs:79:31
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn decode_from_big_endian(&Self::Buf) -> Self;
[INFO] [stdout]    |                               ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Buf`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |         try!(self.op(instruction, devices));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 |         Ok(try!(Instruction::decode(&bin)))
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:439:36
[INFO] [stdout]     |
[INFO] [stdout] 439 |                 let (offset, op) = try!(self.decode(pc.0));
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:552:9
[INFO] [stdout]     |
[INFO] [stdout] 552 |         try!(self.op_set(Push, new_pc));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:624:26
[INFO] [stdout]     |
[INFO] [stdout] 624 |             self.wait += try!(device.interrupt(self));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/computer.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         try!(self.cpu.tick(&mut self.devices));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/computer.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 |             match try!(device.tick(&mut self.cpu, self.current_tick)) {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let raw = try!(clap_parser().get_matches_from_safe(cmd.split(" ")));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:144:29
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:150:28
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let from = try!(conv_iresult(expression(str_from.as_bytes())));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:152:27
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let len = try!(conv_iresult(pos_number(str_len.as_bytes())));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:160:28
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 let from = try!(conv_iresult(expression(str_from.as_bytes())));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:162:27
[INFO] [stdout]     |
[INFO] [stdout] 162 |                 let len = try!(conv_iresult(pos_number(str_len.as_bytes())));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let expr = try!(conv_iresult(expression(str_expr.as_bytes())));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:180:26
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 let id = try!(conv_iresult(pos_number(str_id.as_bytes())));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:185:30
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 let parsed = try!(parse_command(&cmd.values_of("command")
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:194:26
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 let id = try!(conv_iresult(pos_number(str_id.as_bytes())));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:207:29
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 try!(Err(format!("unknown command \"{}\" ({:?})", cmd, args)))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:231:17
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 try!(Err(format!("garbage after {}", o)))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:234:30
[INFO] [stdout]     |
[INFO] [stdout] 234 |         IResult::Error(e) => try!(Err(ErrorKind::Nom(format!("{}", e)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:221:19
[INFO] [stdout]     |
[INFO] [stdout] 221 |             match try!(device.tick(&mut self.cpu, self.tick_number)) {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:237:23
[INFO] [stdout]     |
[INFO] [stdout] 237 |             Err(e) => try!(Err(e)),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |             try!(self.step());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 try!(Err(ErrorKind::Breakpoint(i,
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/clock.rs:72:15
[INFO] [stdout]    |
[INFO] [stdout] 72 |         match try!(Command::from_u16(a)
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/hic.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 |             try!(self.ports[port_num].try_send(val));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/hic.rs:287:27
[INFO] [stdout]     |
[INFO] [stdout] 287 |                 Err(e) => try!(Err(ErrorKind::BackendStopped(format!("{}", e)))),
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/hic.rs:319:27
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 Err(_) => try!(Err(ErrorKind::BackendStopped("hic".into()))),
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mpsc_backend.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     try!(Err(ErrorKind::BackendStopped("keyboard".into()))),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |         match try!(Command::from_u16(a)
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:78:27
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 let key = try!(Key::decode(b).map_err(|_| ErrorKind::InvalidCommand(0xffff)));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     try!(self.backend.is_key_pressed(key)) as u16;
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:88:22
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let pushed = try!(self.backend.push_typed_keys(&mut self.key_buffer));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |             try!(serializer.serialize_seq_fixed_size(386));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             try!(state.serialize_element(word));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     vram.0[i] = match try!(visitor.visit()) {
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             try!(serializer.serialize_seq_fixed_size(256));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             try!(state.serialize_element(word));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     font.0[i] = match try!(visitor.visit()) {
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/lem1802/serde.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |             try!(serializer.serialize_seq_fixed_size(SCREEN_SIZE as usize));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/lem1802/serde.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             try!(state.serialize_element(pixel));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/lem1802/serde.rs:132:41
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     screen.0[i] = match try!(visitor.visit()) {
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn tick<B: Backend>(&self, &Cpu, &LEM1802<B>, tick_count: u64) -> Result<()>;
[INFO] [stdout]    |                                ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn tick<B: Backend>(&self, &Cpu, &LEM1802<B>, tick_count: u64) -> Result<()>;
[INFO] [stdout]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LEM1802<B>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn show<B: Backend>(&self, &Cpu, &LEM1802<B>) -> Result<()>;
[INFO] [stdout]    |                                ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn show<B: Backend>(&self, &Cpu, &LEM1802<B>) -> Result<()>;
[INFO] [stdout]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LEM1802<B>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:76:15
[INFO] [stdout]    |
[INFO] [stdout] 76 |         match try!(Command::from_u16(a)
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     try!(self.backend.hide());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:83:21
[INFO] [stdout]    |
[INFO] [stdout] 83 |                     try!(self.backend.show(cpu, self));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         try!(self.backend.tick(cpu, self, tick_count));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/m35fd.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |         match try!(Command::from_u16(a)
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/m35fd.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let mut input = try!(File::open(path));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let display = try!(glium::glutin::WindowBuilder::new()
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         try!(glium::vertex::VertexBuffer::new(&display, &data))
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         try!(glium::vertex::VertexBuffer::dynamic(&display, &data))
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let program = try!(glium::Program::from_source(&display, "
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |         try!(target.draw((&vertex_buffer, per_instance.per_instance().unwrap()),
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         try!(target.finish());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:194:25
[INFO] [stdout]     |
[INFO] [stdout] 194 |                         try!(keyboard_sender.send(match state {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/mod.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn interrupt(&mut self, &mut Cpu) -> Result<InterruptDelay>;
[INFO] [stdout]    |                             ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/mod.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn tick(&mut self, &mut Cpu, current_tick: u64) -> Result<TickResult>;
[INFO] [stdout]    |                        ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let op = try!(SpecialOp::decode(b_bin));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let op = try!(BasicOp::decode(op_bin));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |             None => try!(Err(ErrorKind::BasicOp(op))),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |             None => try!(Err(ErrorKind::SpecialOp(op))),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/fromstr.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |             _     => try!(Err(ErrorKind::BasicOp)),
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/fromstr.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 |             _     => try!(Err(ErrorKind::SpecialOp)),
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/fromstr.rs:94:20
[INFO] [stdout]    |
[INFO] [stdout] 94 |             _   => try!(Err(ErrorKind::Register))
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/emulator/debugger/parser.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  | / error_chain! {
[INFO] [stdout] 10 | |     foreign_links {
[INFO] [stdout] 11 | |         Clap(clap::Error);
[INFO] [stdout] 12 | |     }
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | / error_chain! {
[INFO] [stdout] 58 | |     foreign_links {
[INFO] [stdout] 59 | |         CreationError(glium::GliumCreationError<glium::glutin::CreationError>);
[INFO] [stdout] 60 | |         VertexCreationError(glium::vertex::BufferCreationError);
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (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/emulator/computer.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 |     devices: Vec<Box<Device>>,
[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] 7 |     devices: Vec<Box<dyn Device>>,
[INFO] [stdout]   |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/debugger/mod.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |     devices: Box<[Box<device::Device>]>,
[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] 49 |     devices: Box<[Box<dyn device::Device>]>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/keyboard/mpsc_backend.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     common: Arc<Mutex<Any + Send>>,
[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] 18 |     common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/lem1802/generic_backend.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |     common: Arc<Mutex<Any + Send>>,
[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] 19 |     common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/lem1802/generic_backend.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 |     send: Box<Fn(ScreenCommand) -> Result<()> + Send + 'static>,
[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] 20 |     send: Box<dyn Fn(ScreenCommand) -> Result<()> + Send + 'static>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:165:47
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn tick(&mut self, devices: &mut [Box<Device>]) -> Result<CpuState> {
[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] 165 |     pub fn tick(&mut self, devices: &mut [Box<dyn Device>]) -> Result<CpuState> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:239:62
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn op(&mut self, i: Instruction<u16>, devices: &mut [Box<Device>]) -> 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] 239 |     fn op(&mut self, i: Instruction<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:278:79
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn special_op(&mut self, op: SpecialOp, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 278 |     fn special_op(&mut self, op: SpecialOp, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:595:60
[INFO] [stdout]     |
[INFO] [stdout] 595 |     fn op_hwn(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 595 |     fn op_hwn(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:601:60
[INFO] [stdout]     |
[INFO] [stdout] 601 |     fn op_hwq(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 601 |     fn op_hwq(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:620:60
[INFO] [stdout]     |
[INFO] [stdout] 620 |     fn op_hwi(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 620 |     fn op_hwi(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/computer.rs:12:48
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(cpu: cpu::Cpu, devices: Vec<Box<Device>>) -> Computer {
[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] 12 |     pub fn new(cpu: cpu::Cpu, devices: Vec<Box<dyn Device>>) -> Computer {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/debugger/mod.rs:63:52
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn new(mut cpu: cpu::Cpu, devices: Vec<Box<device::Device>>) -> Debugger {
[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 |     pub fn new(mut cpu: cpu::Cpu, devices: Vec<Box<dyn device::Device>>) -> Debugger {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/mod.rs:46:34
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn as_any(&mut self) -> &mut Any;
[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] 46 |     fn as_any(&mut self) -> &mut dyn Any;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/clock.rs:117:34
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn as_any(&mut self) -> &mut Any {
[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] 117 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/dummy.rs:39:34
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_any(&mut self) -> &mut Any {
[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] 39 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/eeprom.rs:93:34
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn as_any(&mut self) -> &mut Any {
[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 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/hic.rs:298:34
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn as_any(&mut self) -> &mut Any {
[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] 298 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/keyboard/mod.rs:102:34
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn as_any(&mut self) -> &mut Any {
[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] 102 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/keyboard/mpsc_backend.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new(common: Arc<Mutex<Any + Send>>,
[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] 24 |     pub fn new(common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/lem1802/mod.rs:120:34
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn as_any(&mut self) -> &mut Any {
[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] 120 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/lem1802/generic_backend.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new<T>(common: Arc<Mutex<Any + Send>>, sender: T) -> ScreenBackend
[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] 24 |     pub fn new<T>(common: Arc<Mutex<dyn Any + Send>>, sender: T) -> ScreenBackend
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/m35fd.rs:202:34
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn as_any(&mut self) -> &mut Any {
[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] 202 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/emulator/debugger/parser.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  | / error_chain! {
[INFO] [stdout] 10 | |     foreign_links {
[INFO] [stdout] 11 | |         Clap(clap::Error);
[INFO] [stdout] 12 | |     }
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | / error_chain! {
[INFO] [stdout] 58 | |     foreign_links {
[INFO] [stdout] 59 | |         CreationError(glium::GliumCreationError<glium::glutin::CreationError>);
[INFO] [stdout] 60 | |         VertexCreationError(glium::vertex::BufferCreationError);
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 144 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/bin/disassembler.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(RustcDecodable)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bin/utils/mod.rs:5:51
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn get_input(i: Option<String>) -> Result<Box<Read>, io::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] 5 | pub fn get_input(i: Option<String>) -> Result<Box<dyn Read>, io::Error> {
[INFO] [stdout]   |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/utils/mod.rs:17:52
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn get_output(o: Option<String>) -> Result<Box<Write>, io::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] 17 | pub fn get_output(o: Option<String>) -> Result<Box<dyn Write>, io::Error> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/bin/assembler.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, RustcDecodable)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `die`
[INFO] [stdout]   --> src/bin/utils/mod.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 | macro_rules! die {
[INFO] [stdout]    |              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bin/utils/mod.rs:5:51
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn get_input(i: Option<String>) -> Result<Box<Read>, io::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] 5 | pub fn get_input(i: Option<String>) -> Result<Box<dyn Read>, io::Error> {
[INFO] [stdout]   |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/utils/mod.rs:17:52
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn get_output(o: Option<String>) -> Result<Box<Write>, io::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] 17 | pub fn get_output(o: Option<String>) -> Result<Box<dyn Write>, io::Error> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/bin/emulator.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Debug, RustcDecodable)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bin/emulator.rs:219:40
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn add_keyscreen(devices: &mut Vec<Box<Device>>) -> result::Result<(), i32> {
[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] 219 | fn add_keyscreen(devices: &mut Vec<Box<dyn Device>>) -> result::Result<(), i32> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bin/utils/mod.rs:5:51
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn get_input(i: Option<String>) -> Result<Box<Read>, io::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] 5 | pub fn get_input(i: Option<String>) -> Result<Box<dyn Read>, io::Error> {
[INFO] [stdout]   |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/utils/mod.rs:17:52
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn get_output(o: Option<String>) -> Result<Box<Write>, io::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] 17 | pub fn get_output(o: Option<String>) -> Result<Box<dyn Write>, io::Error> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/emulator.rs:86:34
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut devices: Vec<Box<Device>> = vec![];
[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] 86 |         let mut devices: Vec<Box<dyn Device>> = vec![];
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 42.20s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.1.0, rustc-serialize v0.3.22, syn v0.11.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "afe01f10f6a40b16d3621df2c298318c09054cad9d46fa57ea705fb6d89a34e9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "afe01f10f6a40b16d3621df2c298318c09054cad9d46fa57ea705fb6d89a34e9", kill_on_drop: false }`
[INFO] [stdout] afe01f10f6a40b16d3621df2c298318c09054cad9d46fa57ea705fb6d89a34e9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 36e803311dcf948db960342490b4e902ed8abde39eaf18481d38b271ebaf37f9
[INFO] running `Command { std: "docker" "start" "-a" "36e803311dcf948db960342490b4e902ed8abde39eaf18481d38b271ebaf37f9", kill_on_drop: false }`
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/linker.rs:34:22
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut labels = try!(extract_labels(ast));
[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/assembler/linker.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |                     index += try!(d.append_to(&mut bin, &labels, &last_global)),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/linker.rs:77:34
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     let solved = try!(i.solve(&labels, &last_global));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/linker.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     try!(Err(ErrorKind::DuplicatedLabel(s.clone())));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/linker.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |                     try!(Err(ErrorKind::LocalBeforeGlobal(s.clone())));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/linker.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     try!(Err(ErrorKind::DuplicatedLocalLabel(s.clone())));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/parser/mod.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             try!(Err(format!("Unknown (line {}, row {}): \"{}\"",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/parser/mod.rs:33:30
[INFO] [stdout]    |
[INFO] [stdout] 33 |         IResult::Error(e) => try!(Err(ErrorKind::Nom(format!("{}", e)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/parser/mod.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |         e => try!(Err(format!("Error: {:?}", e))),
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/types.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 | ...                   bin.push(try!(e.solve(labels, last_global)));
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/assembler/types.rs:67:28
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 bin.resize((n as usize), val);
[INFO] [stdout]    |                            ^          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -                 bin.resize((n as usize), val);
[INFO] [stdout] 67 +                 bin.resize(n as usize, val);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:105:41
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...                   try!(b.solve(globals, last_global)),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:106:41
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...                   try!(a.solve(globals, last_global))))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:110:43
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...                   try!(a.solve(globals, last_global))))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:123:40
[INFO] [stdout]     |
[INFO] [stdout] 123 |                 Ok(Value::AtRegPlus(r, try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:127:32
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 Ok(Value::Pick(try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:132:34
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 Ok(Value::AtAddr(try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:134:36
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 Ok(Value::Litteral(try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:166:29
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     None => try!(Err(ErrorKind::UnknownLabel(s.clone()))),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:176:29
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     None => try!(Err(ErrorKind::UnknownLocalLabel(s.clone()))),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 Ok(try!(l.solve(globals, last_global)).wrapping_add(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:181:69
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 Ok(try!(l.solve(globals, last_global)).wrapping_add(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:184:20
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 Ok(try!(l.solve(globals, last_global)).wrapping_sub(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:184:69
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 Ok(try!(l.solve(globals, last_global)).wrapping_sub(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:187:20
[INFO] [stdout]     |
[INFO] [stdout] 187 |                 Ok(try!(l.solve(globals, last_global)).wrapping_mul(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:187:69
[INFO] [stdout]     |
[INFO] [stdout] 187 |                 Ok(try!(l.solve(globals, last_global)).wrapping_mul(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:190:20
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 Ok(try!(l.solve(globals, last_global)).wrapping_div(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:190:69
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 Ok(try!(l.solve(globals, last_global)).wrapping_div(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:193:20
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 Ok(try!(l.solve(globals, last_global)) >> try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:193:59
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 Ok(try!(l.solve(globals, last_global)) >> try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:196:20
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 Ok(try!(l.solve(globals, last_global)) << try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:196:59
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 Ok(try!(l.solve(globals, last_global)) << try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Ok(try!(l.solve(globals, last_global)) % try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:199:58
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Ok(try!(l.solve(globals, last_global)) % try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:202:23
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 Ok(if try!(l.solve(globals, last_global)) == 0 {1} else {0})
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 Ok((try!(l.solve(globals, last_global)) <
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:206:21
[INFO] [stdout]     |
[INFO] [stdout] 206 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:209:21
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Ok((try!(l.solve(globals, last_global)) ==
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:210:21
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:213:21
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 Ok((try!(l.solve(globals, last_global)) >
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:214:21
[INFO] [stdout]     |
[INFO] [stdout] 214 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/byteorder.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             try!(self.write_item::<I, B>(item.clone()));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/byteorder.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         try!(self.read_exact(buf.as_mut()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byteorder.rs:54:38
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn encode_to_big_endian<I: Item>(&mut I::Buf);
[INFO] [stdout]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut I::Buf`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byteorder.rs:55:40
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn decode_from_big_endian<I: Item>(&mut I::Buf);
[INFO] [stdout]    |                                        ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut I::Buf`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byteorder.rs:79:31
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn decode_from_big_endian(&Self::Buf) -> Self;
[INFO] [stdout]    |                               ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Buf`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |         try!(self.op(instruction, devices));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 |         Ok(try!(Instruction::decode(&bin)))
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:439:36
[INFO] [stdout]     |
[INFO] [stdout] 439 |                 let (offset, op) = try!(self.decode(pc.0));
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:552:9
[INFO] [stdout]     |
[INFO] [stdout] 552 |         try!(self.op_set(Push, new_pc));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:624:26
[INFO] [stdout]     |
[INFO] [stdout] 624 |             self.wait += try!(device.interrupt(self));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/computer.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         try!(self.cpu.tick(&mut self.devices));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/computer.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 |             match try!(device.tick(&mut self.cpu, self.current_tick)) {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let raw = try!(clap_parser().get_matches_from_safe(cmd.split(" ")));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:144:29
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:150:28
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let from = try!(conv_iresult(expression(str_from.as_bytes())));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:152:27
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let len = try!(conv_iresult(pos_number(str_len.as_bytes())));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:160:28
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 let from = try!(conv_iresult(expression(str_from.as_bytes())));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:162:27
[INFO] [stdout]     |
[INFO] [stdout] 162 |                 let len = try!(conv_iresult(pos_number(str_len.as_bytes())));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let expr = try!(conv_iresult(expression(str_expr.as_bytes())));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:180:26
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 let id = try!(conv_iresult(pos_number(str_id.as_bytes())));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:185:30
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 let parsed = try!(parse_command(&cmd.values_of("command")
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:194:26
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 let id = try!(conv_iresult(pos_number(str_id.as_bytes())));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:207:29
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 try!(Err(format!("unknown command \"{}\" ({:?})", cmd, args)))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:231:17
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 try!(Err(format!("garbage after {}", o)))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:234:30
[INFO] [stdout]     |
[INFO] [stdout] 234 |         IResult::Error(e) => try!(Err(ErrorKind::Nom(format!("{}", e)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:221:19
[INFO] [stdout]     |
[INFO] [stdout] 221 |             match try!(device.tick(&mut self.cpu, self.tick_number)) {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:237:23
[INFO] [stdout]     |
[INFO] [stdout] 237 |             Err(e) => try!(Err(e)),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |             try!(self.step());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 try!(Err(ErrorKind::Breakpoint(i,
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/clock.rs:72:15
[INFO] [stdout]    |
[INFO] [stdout] 72 |         match try!(Command::from_u16(a)
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/hic.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 |             try!(self.ports[port_num].try_send(val));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/hic.rs:287:27
[INFO] [stdout]     |
[INFO] [stdout] 287 |                 Err(e) => try!(Err(ErrorKind::BackendStopped(format!("{}", e)))),
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/hic.rs:319:27
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 Err(_) => try!(Err(ErrorKind::BackendStopped("hic".into()))),
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mpsc_backend.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     try!(Err(ErrorKind::BackendStopped("keyboard".into()))),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |         match try!(Command::from_u16(a)
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:78:27
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 let key = try!(Key::decode(b).map_err(|_| ErrorKind::InvalidCommand(0xffff)));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     try!(self.backend.is_key_pressed(key)) as u16;
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:88:22
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let pushed = try!(self.backend.push_typed_keys(&mut self.key_buffer));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |             try!(serializer.serialize_seq_fixed_size(386));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             try!(state.serialize_element(word));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     vram.0[i] = match try!(visitor.visit()) {
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             try!(serializer.serialize_seq_fixed_size(256));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             try!(state.serialize_element(word));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     font.0[i] = match try!(visitor.visit()) {
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/lem1802/serde.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |             try!(serializer.serialize_seq_fixed_size(SCREEN_SIZE as usize));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/lem1802/serde.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             try!(state.serialize_element(pixel));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/lem1802/serde.rs:132:41
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     screen.0[i] = match try!(visitor.visit()) {
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn tick<B: Backend>(&self, &Cpu, &LEM1802<B>, tick_count: u64) -> Result<()>;
[INFO] [stdout]    |                                ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn tick<B: Backend>(&self, &Cpu, &LEM1802<B>, tick_count: u64) -> Result<()>;
[INFO] [stdout]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LEM1802<B>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn show<B: Backend>(&self, &Cpu, &LEM1802<B>) -> Result<()>;
[INFO] [stdout]    |                                ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn show<B: Backend>(&self, &Cpu, &LEM1802<B>) -> Result<()>;
[INFO] [stdout]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LEM1802<B>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:76:15
[INFO] [stdout]    |
[INFO] [stdout] 76 |         match try!(Command::from_u16(a)
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     try!(self.backend.hide());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:83:21
[INFO] [stdout]    |
[INFO] [stdout] 83 |                     try!(self.backend.show(cpu, self));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         try!(self.backend.tick(cpu, self, tick_count));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/m35fd.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |         match try!(Command::from_u16(a)
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/m35fd.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let mut input = try!(File::open(path));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let display = try!(glium::glutin::WindowBuilder::new()
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         try!(glium::vertex::VertexBuffer::new(&display, &data))
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         try!(glium::vertex::VertexBuffer::dynamic(&display, &data))
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let program = try!(glium::Program::from_source(&display, "
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |         try!(target.draw((&vertex_buffer, per_instance.per_instance().unwrap()),
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         try!(target.finish());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:194:25
[INFO] [stdout]     |
[INFO] [stdout] 194 |                         try!(keyboard_sender.send(match state {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/mod.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn interrupt(&mut self, &mut Cpu) -> Result<InterruptDelay>;
[INFO] [stdout]    |                             ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/mod.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn tick(&mut self, &mut Cpu, current_tick: u64) -> Result<TickResult>;
[INFO] [stdout]    |                        ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let op = try!(SpecialOp::decode(b_bin));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let op = try!(BasicOp::decode(op_bin));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |             None => try!(Err(ErrorKind::BasicOp(op))),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |             None => try!(Err(ErrorKind::SpecialOp(op))),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/fromstr.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |             _     => try!(Err(ErrorKind::BasicOp)),
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/fromstr.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 |             _     => try!(Err(ErrorKind::SpecialOp)),
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/fromstr.rs:94:20
[INFO] [stdout]    |
[INFO] [stdout] 94 |             _   => try!(Err(ErrorKind::Register))
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/emulator/debugger/parser.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  | / error_chain! {
[INFO] [stdout] 10 | |     foreign_links {
[INFO] [stdout] 11 | |         Clap(clap::Error);
[INFO] [stdout] 12 | |     }
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | / error_chain! {
[INFO] [stdout] 58 | |     foreign_links {
[INFO] [stdout] 59 | |         CreationError(glium::GliumCreationError<glium::glutin::CreationError>);
[INFO] [stdout] 60 | |         VertexCreationError(glium::vertex::BufferCreationError);
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (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/emulator/computer.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 |     devices: Vec<Box<Device>>,
[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] 7 |     devices: Vec<Box<dyn Device>>,
[INFO] [stdout]   |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/debugger/mod.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |     devices: Box<[Box<device::Device>]>,
[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] 49 |     devices: Box<[Box<dyn device::Device>]>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/keyboard/mpsc_backend.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     common: Arc<Mutex<Any + Send>>,
[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] 18 |     common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/lem1802/generic_backend.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |     common: Arc<Mutex<Any + Send>>,
[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] 19 |     common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/lem1802/generic_backend.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 |     send: Box<Fn(ScreenCommand) -> Result<()> + Send + 'static>,
[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] 20 |     send: Box<dyn Fn(ScreenCommand) -> Result<()> + Send + 'static>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:165:47
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn tick(&mut self, devices: &mut [Box<Device>]) -> Result<CpuState> {
[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] 165 |     pub fn tick(&mut self, devices: &mut [Box<dyn Device>]) -> Result<CpuState> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:239:62
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn op(&mut self, i: Instruction<u16>, devices: &mut [Box<Device>]) -> 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] 239 |     fn op(&mut self, i: Instruction<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:278:79
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn special_op(&mut self, op: SpecialOp, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 278 |     fn special_op(&mut self, op: SpecialOp, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:595:60
[INFO] [stdout]     |
[INFO] [stdout] 595 |     fn op_hwn(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 595 |     fn op_hwn(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:601:60
[INFO] [stdout]     |
[INFO] [stdout] 601 |     fn op_hwq(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 601 |     fn op_hwq(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:620:60
[INFO] [stdout]     |
[INFO] [stdout] 620 |     fn op_hwi(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 620 |     fn op_hwi(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/computer.rs:12:48
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(cpu: cpu::Cpu, devices: Vec<Box<Device>>) -> Computer {
[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] 12 |     pub fn new(cpu: cpu::Cpu, devices: Vec<Box<dyn Device>>) -> Computer {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/debugger/mod.rs:63:52
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn new(mut cpu: cpu::Cpu, devices: Vec<Box<device::Device>>) -> Debugger {
[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 |     pub fn new(mut cpu: cpu::Cpu, devices: Vec<Box<dyn device::Device>>) -> Debugger {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling dcpu v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/mod.rs:46:34
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn as_any(&mut self) -> &mut Any;
[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] 46 |     fn as_any(&mut self) -> &mut dyn Any;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/clock.rs:117:34
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn as_any(&mut self) -> &mut Any {
[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] 117 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/dummy.rs:39:34
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_any(&mut self) -> &mut Any {
[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] 39 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/eeprom.rs:93:34
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn as_any(&mut self) -> &mut Any {
[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 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/hic.rs:298:34
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn as_any(&mut self) -> &mut Any {
[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] 298 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/keyboard/mod.rs:102:34
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn as_any(&mut self) -> &mut Any {
[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] 102 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/keyboard/mpsc_backend.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new(common: Arc<Mutex<Any + Send>>,
[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] 24 |     pub fn new(common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/lem1802/mod.rs:120:34
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn as_any(&mut self) -> &mut Any {
[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] 120 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/lem1802/generic_backend.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new<T>(common: Arc<Mutex<Any + Send>>, sender: T) -> ScreenBackend
[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] 24 |     pub fn new<T>(common: Arc<Mutex<dyn Any + Send>>, sender: T) -> ScreenBackend
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/m35fd.rs:202:34
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn as_any(&mut self) -> &mut Any {
[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] 202 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/emulator/debugger/parser.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  | / error_chain! {
[INFO] [stdout] 10 | |     foreign_links {
[INFO] [stdout] 11 | |         Clap(clap::Error);
[INFO] [stdout] 12 | |     }
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | / error_chain! {
[INFO] [stdout] 58 | |     foreign_links {
[INFO] [stdout] 59 | |         CreationError(glium::GliumCreationError<glium::glutin::CreationError>);
[INFO] [stdout] 60 | |         VertexCreationError(glium::vertex::BufferCreationError);
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 144 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/bin/disassembler.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | #[derive(RustcDecodable)]
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bin/utils/mod.rs:5:51
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn get_input(i: Option<String>) -> Result<Box<Read>, io::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] 5 | pub fn get_input(i: Option<String>) -> Result<Box<dyn Read>, io::Error> {
[INFO] [stdout]   |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/utils/mod.rs:17:52
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn get_output(o: Option<String>) -> Result<Box<Write>, io::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] 17 | pub fn get_output(o: Option<String>) -> Result<Box<dyn Write>, io::Error> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/bin/assembler.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[derive(Debug, RustcDecodable)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `die`
[INFO] [stdout]   --> src/bin/utils/mod.rs:32:14
[INFO] [stdout]    |
[INFO] [stdout] 32 | macro_rules! die {
[INFO] [stdout]    |              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bin/utils/mod.rs:5:51
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn get_input(i: Option<String>) -> Result<Box<Read>, io::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] 5 | pub fn get_input(i: Option<String>) -> Result<Box<dyn Read>, io::Error> {
[INFO] [stdout]   |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/utils/mod.rs:17:52
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn get_output(o: Option<String>) -> Result<Box<Write>, io::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] 17 | pub fn get_output(o: Option<String>) -> Result<Box<dyn Write>, io::Error> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/bin/emulator.rs:49:17
[INFO] [stdout]    |
[INFO] [stdout] 49 | #[derive(Debug, RustcDecodable)]
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bin/emulator.rs:219:40
[INFO] [stdout]     |
[INFO] [stdout] 219 | fn add_keyscreen(devices: &mut Vec<Box<Device>>) -> result::Result<(), i32> {
[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] 219 | fn add_keyscreen(devices: &mut Vec<Box<dyn Device>>) -> result::Result<(), i32> {
[INFO] [stdout]     |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bin/utils/mod.rs:5:51
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn get_input(i: Option<String>) -> Result<Box<Read>, io::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] 5 | pub fn get_input(i: Option<String>) -> Result<Box<dyn Read>, io::Error> {
[INFO] [stdout]   |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/utils/mod.rs:17:52
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn get_output(o: Option<String>) -> Result<Box<Write>, io::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] 17 | pub fn get_output(o: Option<String>) -> Result<Box<dyn Write>, io::Error> {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bin/emulator.rs:86:34
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let mut devices: Vec<Box<Device>> = vec![];
[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] 86 |         let mut devices: Vec<Box<dyn Device>> = vec![];
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]   --> src/lib.rs:27:1
[INFO] [stdout]    |
[INFO] [stdout] 27 | #[macro_use]
[INFO] [stdout]    | ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/linker.rs:34:22
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let mut labels = try!(extract_labels(ast));
[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/assembler/linker.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |                     index += try!(d.append_to(&mut bin, &labels, &last_global)),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/linker.rs:77:34
[INFO] [stdout]    |
[INFO] [stdout] 77 |                     let solved = try!(i.solve(&labels, &last_global));
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/linker.rs:99:21
[INFO] [stdout]    |
[INFO] [stdout] 99 |                     try!(Err(ErrorKind::DuplicatedLabel(s.clone())));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/linker.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |                     try!(Err(ErrorKind::LocalBeforeGlobal(s.clone())));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/linker.rs:112:21
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     try!(Err(ErrorKind::DuplicatedLocalLabel(s.clone())));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/parser/mod.rs:24:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             try!(Err(format!("Unknown (line {}, row {}): \"{}\"",
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/parser/mod.rs:33:30
[INFO] [stdout]    |
[INFO] [stdout] 33 |         IResult::Error(e) => try!(Err(ErrorKind::Nom(format!("{}", e)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/parser/mod.rs:34:14
[INFO] [stdout]    |
[INFO] [stdout] 34 |         e => try!(Err(format!("Error: {:?}", e))),
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/assembler/types.rs:55:38
[INFO] [stdout]    |
[INFO] [stdout] 55 | ...                   bin.push(try!(e.solve(labels, last_global)));
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]   --> src/assembler/types.rs:67:28
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 bin.resize((n as usize), val);
[INFO] [stdout]    |                            ^          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 67 -                 bin.resize((n as usize), val);
[INFO] [stdout] 67 +                 bin.resize(n as usize, val);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:105:41
[INFO] [stdout]     |
[INFO] [stdout] 105 | ...                   try!(b.solve(globals, last_global)),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:106:41
[INFO] [stdout]     |
[INFO] [stdout] 106 | ...                   try!(a.solve(globals, last_global))))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:110:43
[INFO] [stdout]     |
[INFO] [stdout] 110 | ...                   try!(a.solve(globals, last_global))))
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:123:40
[INFO] [stdout]     |
[INFO] [stdout] 123 |                 Ok(Value::AtRegPlus(r, try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:127:32
[INFO] [stdout]     |
[INFO] [stdout] 127 |                 Ok(Value::Pick(try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:132:34
[INFO] [stdout]     |
[INFO] [stdout] 132 |                 Ok(Value::AtAddr(try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:134:36
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 Ok(Value::Litteral(try!(e.solve(globals, last_global)))),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:166:29
[INFO] [stdout]     |
[INFO] [stdout] 166 |                     None => try!(Err(ErrorKind::UnknownLabel(s.clone()))),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:176:29
[INFO] [stdout]     |
[INFO] [stdout] 176 |                     None => try!(Err(ErrorKind::UnknownLocalLabel(s.clone()))),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:181:20
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 Ok(try!(l.solve(globals, last_global)).wrapping_add(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:181:69
[INFO] [stdout]     |
[INFO] [stdout] 181 |                 Ok(try!(l.solve(globals, last_global)).wrapping_add(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:184:20
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 Ok(try!(l.solve(globals, last_global)).wrapping_sub(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:184:69
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 Ok(try!(l.solve(globals, last_global)).wrapping_sub(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:187:20
[INFO] [stdout]     |
[INFO] [stdout] 187 |                 Ok(try!(l.solve(globals, last_global)).wrapping_mul(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:187:69
[INFO] [stdout]     |
[INFO] [stdout] 187 |                 Ok(try!(l.solve(globals, last_global)).wrapping_mul(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:190:20
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 Ok(try!(l.solve(globals, last_global)).wrapping_div(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:190:69
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 Ok(try!(l.solve(globals, last_global)).wrapping_div(try!(r.solve(globals, last_global))))
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:193:20
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 Ok(try!(l.solve(globals, last_global)) >> try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:193:59
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 Ok(try!(l.solve(globals, last_global)) >> try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:196:20
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 Ok(try!(l.solve(globals, last_global)) << try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:196:59
[INFO] [stdout]     |
[INFO] [stdout] 196 |                 Ok(try!(l.solve(globals, last_global)) << try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                                                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:199:20
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Ok(try!(l.solve(globals, last_global)) % try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:199:58
[INFO] [stdout]     |
[INFO] [stdout] 199 |                 Ok(try!(l.solve(globals, last_global)) % try!(r.solve(globals, last_global)))
[INFO] [stdout]     |                                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:202:23
[INFO] [stdout]     |
[INFO] [stdout] 202 |                 Ok(if try!(l.solve(globals, last_global)) == 0 {1} else {0})
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                 Ok((try!(l.solve(globals, last_global)) <
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:206:21
[INFO] [stdout]     |
[INFO] [stdout] 206 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:209:21
[INFO] [stdout]     |
[INFO] [stdout] 209 |                 Ok((try!(l.solve(globals, last_global)) ==
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:210:21
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:213:21
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 Ok((try!(l.solve(globals, last_global)) >
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/assembler/types.rs:214:21
[INFO] [stdout]     |
[INFO] [stdout] 214 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/byteorder.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             try!(self.write_item::<I, B>(item.clone()));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/byteorder.rs:24:9
[INFO] [stdout]    |
[INFO] [stdout] 24 |         try!(self.read_exact(buf.as_mut()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byteorder.rs:54:38
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn encode_to_big_endian<I: Item>(&mut I::Buf);
[INFO] [stdout]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut I::Buf`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byteorder.rs:55:40
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn decode_from_big_endian<I: Item>(&mut I::Buf);
[INFO] [stdout]    |                                        ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut I::Buf`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/byteorder.rs:79:31
[INFO] [stdout]    |
[INFO] [stdout] 79 |     fn decode_from_big_endian(&Self::Buf) -> Self;
[INFO] [stdout]    |                               ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Buf`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:203:9
[INFO] [stdout]     |
[INFO] [stdout] 203 |         try!(self.op(instruction, devices));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:218:12
[INFO] [stdout]     |
[INFO] [stdout] 218 |         Ok(try!(Instruction::decode(&bin)))
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:439:36
[INFO] [stdout]     |
[INFO] [stdout] 439 |                 let (offset, op) = try!(self.decode(pc.0));
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:552:9
[INFO] [stdout]     |
[INFO] [stdout] 552 |         try!(self.op_set(Push, new_pc));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/cpu.rs:624:26
[INFO] [stdout]     |
[INFO] [stdout] 624 |             self.wait += try!(device.interrupt(self));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/computer.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         try!(self.cpu.tick(&mut self.devices));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/computer.rs:24:19
[INFO] [stdout]    |
[INFO] [stdout] 24 |             match try!(device.tick(&mut self.cpu, self.current_tick)) {
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:135:15
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let raw = try!(clap_parser().get_matches_from_safe(cmd.split(" ")));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:144:29
[INFO] [stdout]     |
[INFO] [stdout] 144 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:150:28
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let from = try!(conv_iresult(expression(str_from.as_bytes())));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:152:27
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let len = try!(conv_iresult(pos_number(str_len.as_bytes())));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:160:28
[INFO] [stdout]     |
[INFO] [stdout] 160 |                 let from = try!(conv_iresult(expression(str_from.as_bytes())));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:162:27
[INFO] [stdout]     |
[INFO] [stdout] 162 |                 let len = try!(conv_iresult(pos_number(str_len.as_bytes())));
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:173:28
[INFO] [stdout]     |
[INFO] [stdout] 173 |                 let expr = try!(conv_iresult(expression(str_expr.as_bytes())));
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:180:26
[INFO] [stdout]     |
[INFO] [stdout] 180 |                 let id = try!(conv_iresult(pos_number(str_id.as_bytes())));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:185:30
[INFO] [stdout]     |
[INFO] [stdout] 185 |                 let parsed = try!(parse_command(&cmd.values_of("command")
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:194:26
[INFO] [stdout]     |
[INFO] [stdout] 194 |                 let id = try!(conv_iresult(pos_number(str_id.as_bytes())));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:207:29
[INFO] [stdout]     |
[INFO] [stdout] 207 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:213:29
[INFO] [stdout]     |
[INFO] [stdout] 213 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:217:17
[INFO] [stdout]     |
[INFO] [stdout] 217 |                 try!(Err(format!("unknown command \"{}\" ({:?})", cmd, args)))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:231:17
[INFO] [stdout]     |
[INFO] [stdout] 231 |                 try!(Err(format!("garbage after {}", o)))
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/parser.rs:234:30
[INFO] [stdout]     |
[INFO] [stdout] 234 |         IResult::Error(e) => try!(Err(ErrorKind::Nom(format!("{}", e)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:221:19
[INFO] [stdout]     |
[INFO] [stdout] 221 |             match try!(device.tick(&mut self.cpu, self.tick_number)) {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:237:23
[INFO] [stdout]     |
[INFO] [stdout] 237 |             Err(e) => try!(Err(e)),
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:313:13
[INFO] [stdout]     |
[INFO] [stdout] 313 |             try!(self.step());
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/debugger/mod.rs:319:17
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 try!(Err(ErrorKind::Breakpoint(i,
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/clock.rs:72:15
[INFO] [stdout]    |
[INFO] [stdout] 72 |         match try!(Command::from_u16(a)
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/hic.rs:272:13
[INFO] [stdout]     |
[INFO] [stdout] 272 |             try!(self.ports[port_num].try_send(val));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/hic.rs:287:27
[INFO] [stdout]     |
[INFO] [stdout] 287 |                 Err(e) => try!(Err(ErrorKind::BackendStopped(format!("{}", e)))),
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/hic.rs:319:27
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 Err(_) => try!(Err(ErrorKind::BackendStopped("hic".into()))),
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mpsc_backend.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                     try!(Err(ErrorKind::BackendStopped("keyboard".into()))),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |         match try!(Command::from_u16(a)
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:78:27
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 let key = try!(Key::decode(b).map_err(|_| ErrorKind::InvalidCommand(0xffff)));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:80:21
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     try!(self.backend.is_key_pressed(key)) as u16;
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/keyboard/mod.rs:88:22
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let pushed = try!(self.backend.push_typed_keys(&mut self.key_buffer));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |             try!(serializer.serialize_seq_fixed_size(386));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:16:13
[INFO] [stdout]    |
[INFO] [stdout] 16 |             try!(state.serialize_element(word));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 |                     vram.0[i] = match try!(visitor.visit()) {
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             try!(serializer.serialize_seq_fixed_size(256));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |             try!(state.serialize_element(word));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/serde.rs:85:39
[INFO] [stdout]    |
[INFO] [stdout] 85 |                     font.0[i] = match try!(visitor.visit()) {
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/lem1802/serde.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |             try!(serializer.serialize_seq_fixed_size(SCREEN_SIZE as usize));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/lem1802/serde.rs:106:13
[INFO] [stdout]     |
[INFO] [stdout] 106 |             try!(state.serialize_element(pixel));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/lem1802/serde.rs:132:41
[INFO] [stdout]     |
[INFO] [stdout] 132 |                     screen.0[i] = match try!(visitor.visit()) {
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:28:32
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn tick<B: Backend>(&self, &Cpu, &LEM1802<B>, tick_count: u64) -> Result<()>;
[INFO] [stdout]    |                                ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:28:38
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn tick<B: Backend>(&self, &Cpu, &LEM1802<B>, tick_count: u64) -> Result<()>;
[INFO] [stdout]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LEM1802<B>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:30:32
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn show<B: Backend>(&self, &Cpu, &LEM1802<B>) -> Result<()>;
[INFO] [stdout]    |                                ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:30:38
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn show<B: Backend>(&self, &Cpu, &LEM1802<B>) -> Result<()>;
[INFO] [stdout]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LEM1802<B>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:76:15
[INFO] [stdout]    |
[INFO] [stdout] 76 |         match try!(Command::from_u16(a)
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 |                     try!(self.backend.hide());
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:83:21
[INFO] [stdout]    |
[INFO] [stdout] 83 |                     try!(self.backend.show(cpu, self));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/lem1802/mod.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 95 |         try!(self.backend.tick(cpu, self, tick_count));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/m35fd.rs:104:15
[INFO] [stdout]     |
[INFO] [stdout] 104 |         match try!(Command::from_u16(a)
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/m35fd.rs:223:25
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let mut input = try!(File::open(path));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:72:19
[INFO] [stdout]    |
[INFO] [stdout] 72 |     let display = try!(glium::glutin::WindowBuilder::new()
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         try!(glium::vertex::VertexBuffer::new(&display, &data))
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         try!(glium::vertex::VertexBuffer::dynamic(&display, &data))
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |     let program = try!(glium::Program::from_source(&display, "
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |         try!(target.draw((&vertex_buffer, per_instance.per_instance().unwrap()),
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 187 |         try!(target.finish());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/emulator/device/glium_backend.rs:194:25
[INFO] [stdout]     |
[INFO] [stdout] 194 |                         try!(keyboard_sender.send(match state {
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/mod.rs:42:29
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn interrupt(&mut self, &mut Cpu) -> Result<InterruptDelay>;
[INFO] [stdout]    |                             ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/emulator/device/mod.rs:43:24
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn tick(&mut self, &mut Cpu, current_tick: u64) -> Result<TickResult>;
[INFO] [stdout]    |                        ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Cpu`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 |             let op = try!(SpecialOp::decode(b_bin));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |             let op = try!(BasicOp::decode(op_bin));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |             None => try!(Err(ErrorKind::BasicOp(op))),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/decode.rs:79:21
[INFO] [stdout]    |
[INFO] [stdout] 79 |             None => try!(Err(ErrorKind::SpecialOp(op))),
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/fromstr.rs:54:22
[INFO] [stdout]    |
[INFO] [stdout] 54 |             _     => try!(Err(ErrorKind::BasicOp)),
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/fromstr.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 |             _     => try!(Err(ErrorKind::SpecialOp)),
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/types/fromstr.rs:94:20
[INFO] [stdout]    |
[INFO] [stdout] 94 |             _   => try!(Err(ErrorKind::Register))
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/emulator/debugger/parser.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  | / error_chain! {
[INFO] [stdout] 10 | |     foreign_links {
[INFO] [stdout] 11 | |         Clap(clap::Error);
[INFO] [stdout] 12 | |     }
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | / error_chain! {
[INFO] [stdout] 58 | |     foreign_links {
[INFO] [stdout] 59 | |         CreationError(glium::GliumCreationError<glium::glutin::CreationError>);
[INFO] [stdout] 60 | |         VertexCreationError(glium::vertex::BufferCreationError);
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (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/emulator/computer.rs:7:22
[INFO] [stdout]   |
[INFO] [stdout] 7 |     devices: Vec<Box<Device>>,
[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] 7 |     devices: Vec<Box<dyn Device>>,
[INFO] [stdout]   |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/debugger/mod.rs:49:23
[INFO] [stdout]    |
[INFO] [stdout] 49 |     devices: Box<[Box<device::Device>]>,
[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] 49 |     devices: Box<[Box<dyn device::Device>]>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/keyboard/mpsc_backend.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     common: Arc<Mutex<Any + Send>>,
[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] 18 |     common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/lem1802/generic_backend.rs:19:23
[INFO] [stdout]    |
[INFO] [stdout] 19 |     common: Arc<Mutex<Any + Send>>,
[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] 19 |     common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/lem1802/generic_backend.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 |     send: Box<Fn(ScreenCommand) -> Result<()> + Send + 'static>,
[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] 20 |     send: Box<dyn Fn(ScreenCommand) -> Result<()> + Send + 'static>,
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:165:47
[INFO] [stdout]     |
[INFO] [stdout] 165 |     pub fn tick(&mut self, devices: &mut [Box<Device>]) -> Result<CpuState> {
[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] 165 |     pub fn tick(&mut self, devices: &mut [Box<dyn Device>]) -> Result<CpuState> {
[INFO] [stdout]     |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:239:62
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn op(&mut self, i: Instruction<u16>, devices: &mut [Box<Device>]) -> 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] 239 |     fn op(&mut self, i: Instruction<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:278:79
[INFO] [stdout]     |
[INFO] [stdout] 278 |     fn special_op(&mut self, op: SpecialOp, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 278 |     fn special_op(&mut self, op: SpecialOp, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:595:60
[INFO] [stdout]     |
[INFO] [stdout] 595 |     fn op_hwn(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 595 |     fn op_hwn(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:601:60
[INFO] [stdout]     |
[INFO] [stdout] 601 |     fn op_hwq(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 601 |     fn op_hwq(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/cpu.rs:620:60
[INFO] [stdout]     |
[INFO] [stdout] 620 |     fn op_hwi(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> 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] 620 |     fn op_hwi(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/computer.rs:12:48
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new(cpu: cpu::Cpu, devices: Vec<Box<Device>>) -> Computer {
[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] 12 |     pub fn new(cpu: cpu::Cpu, devices: Vec<Box<dyn Device>>) -> Computer {
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/debugger/mod.rs:63:52
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn new(mut cpu: cpu::Cpu, devices: Vec<Box<device::Device>>) -> Debugger {
[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 |     pub fn new(mut cpu: cpu::Cpu, devices: Vec<Box<dyn device::Device>>) -> Debugger {
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/mod.rs:46:34
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn as_any(&mut self) -> &mut Any;
[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] 46 |     fn as_any(&mut self) -> &mut dyn Any;
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/clock.rs:117:34
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn as_any(&mut self) -> &mut Any {
[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] 117 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/dummy.rs:39:34
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn as_any(&mut self) -> &mut Any {
[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] 39 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/eeprom.rs:93:34
[INFO] [stdout]    |
[INFO] [stdout] 93 |     fn as_any(&mut self) -> &mut Any {
[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 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/hic.rs:298:34
[INFO] [stdout]     |
[INFO] [stdout] 298 |     fn as_any(&mut self) -> &mut Any {
[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] 298 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/keyboard/mod.rs:102:34
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn as_any(&mut self) -> &mut Any {
[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] 102 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/keyboard/mpsc_backend.rs:24:34
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new(common: Arc<Mutex<Any + Send>>,
[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] 24 |     pub fn new(common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/lem1802/mod.rs:120:34
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn as_any(&mut self) -> &mut Any {
[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] 120 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator/device/lem1802/generic_backend.rs:24:37
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn new<T>(common: Arc<Mutex<Any + Send>>, sender: T) -> ScreenBackend
[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] 24 |     pub fn new<T>(common: Arc<Mutex<dyn Any + Send>>, sender: T) -> ScreenBackend
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/emulator/device/m35fd.rs:202:34
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn as_any(&mut self) -> &mut Any {
[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] 202 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stdout]     |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/emulator/debugger/parser.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  | / error_chain! {
[INFO] [stdout] 10 | |     foreign_links {
[INFO] [stdout] 11 | |         Clap(clap::Error);
[INFO] [stdout] 12 | |     }
[INFO] [stdout] ...  |
[INFO] [stdout] 19 | |     }
[INFO] [stdout] 20 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/emulator/device/glium_backend.rs:57:1
[INFO] [stdout]    |
[INFO] [stdout] 57 | / error_chain! {
[INFO] [stdout] 58 | |     foreign_links {
[INFO] [stdout] 59 | |         CreationError(glium::GliumCreationError<glium::glutin::CreationError>);
[INFO] [stdout] 60 | |         VertexCreationError(glium::vertex::BufferCreationError);
[INFO] [stdout] ...  |
[INFO] [stdout] 65 | |     }
[INFO] [stdout] 66 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 144 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 4.57s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.1.0, rustc-serialize v0.3.22, syn v0.11.4
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "36e803311dcf948db960342490b4e902ed8abde39eaf18481d38b271ebaf37f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "36e803311dcf948db960342490b4e902ed8abde39eaf18481d38b271ebaf37f9", kill_on_drop: false }`
[INFO] [stdout] 36e803311dcf948db960342490b4e902ed8abde39eaf18481d38b271ebaf37f9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d557b394bd7a4c013c54de55d92bc3cc2099afc7118467684d55ea47a4cd0bb0
[INFO] running `Command { std: "docker" "start" "-a" "d557b394bd7a4c013c54de55d92bc3cc2099afc7118467684d55ea47a4cd0bb0", kill_on_drop: false }`
[INFO] [stderr] warning: unused `#[macro_use]` import
[INFO] [stderr]   --> src/lib.rs:27:1
[INFO] [stderr]    |
[INFO] [stderr] 27 | #[macro_use]
[INFO] [stderr]    | ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/assembler/linker.rs:34:22
[INFO] [stderr]    |
[INFO] [stderr] 34 |     let mut labels = try!(extract_labels(ast));
[INFO] [stderr]    |                      ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/assembler/linker.rs:56:30
[INFO] [stderr]    |
[INFO] [stderr] 56 |                     index += try!(d.append_to(&mut bin, &labels, &last_global)),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/assembler/linker.rs:77:34
[INFO] [stderr]    |
[INFO] [stderr] 77 |                     let solved = try!(i.solve(&labels, &last_global));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/assembler/linker.rs:99:21
[INFO] [stderr]    |
[INFO] [stderr] 99 |                     try!(Err(ErrorKind::DuplicatedLabel(s.clone())));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/linker.rs:106:21
[INFO] [stderr]     |
[INFO] [stderr] 106 |                     try!(Err(ErrorKind::LocalBeforeGlobal(s.clone())));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/linker.rs:112:21
[INFO] [stderr]     |
[INFO] [stderr] 112 |                     try!(Err(ErrorKind::DuplicatedLocalLabel(s.clone())));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/assembler/parser/mod.rs:24:13
[INFO] [stderr]    |
[INFO] [stderr] 24 |             try!(Err(format!("Unknown (line {}, row {}): \"{}\"",
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/assembler/parser/mod.rs:33:30
[INFO] [stderr]    |
[INFO] [stderr] 33 |         IResult::Error(e) => try!(Err(ErrorKind::Nom(format!("{}", e)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/assembler/parser/mod.rs:34:14
[INFO] [stderr]    |
[INFO] [stderr] 34 |         e => try!(Err(format!("Error: {:?}", e))),
[INFO] [stderr]    |              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/assembler/types.rs:55:38
[INFO] [stderr]    |
[INFO] [stderr] 55 | ...                   bin.push(try!(e.solve(labels, last_global)));
[INFO] [stderr]    |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]   --> src/assembler/types.rs:67:28
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 bin.resize((n as usize), val);
[INFO] [stderr]    |                            ^          ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 67 -                 bin.resize((n as usize), val);
[INFO] [stderr] 67 +                 bin.resize(n as usize, val);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:105:41
[INFO] [stderr]     |
[INFO] [stderr] 105 | ...                   try!(b.solve(globals, last_global)),
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:106:41
[INFO] [stderr]     |
[INFO] [stderr] 106 | ...                   try!(a.solve(globals, last_global))))
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:110:43
[INFO] [stderr]     |
[INFO] [stderr] 110 | ...                   try!(a.solve(globals, last_global))))
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:123:40
[INFO] [stderr]     |
[INFO] [stderr] 123 |                 Ok(Value::AtRegPlus(r, try!(e.solve(globals, last_global)))),
[INFO] [stderr]     |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:127:32
[INFO] [stderr]     |
[INFO] [stderr] 127 |                 Ok(Value::Pick(try!(e.solve(globals, last_global)))),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:132:34
[INFO] [stderr]     |
[INFO] [stderr] 132 |                 Ok(Value::AtAddr(try!(e.solve(globals, last_global)))),
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:134:36
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 Ok(Value::Litteral(try!(e.solve(globals, last_global)))),
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:166:29
[INFO] [stderr]     |
[INFO] [stderr] 166 |                     None => try!(Err(ErrorKind::UnknownLabel(s.clone()))),
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:176:29
[INFO] [stderr]     |
[INFO] [stderr] 176 |                     None => try!(Err(ErrorKind::UnknownLocalLabel(s.clone()))),
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:181:20
[INFO] [stderr]     |
[INFO] [stderr] 181 |                 Ok(try!(l.solve(globals, last_global)).wrapping_add(try!(r.solve(globals, last_global))))
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:181:69
[INFO] [stderr]     |
[INFO] [stderr] 181 |                 Ok(try!(l.solve(globals, last_global)).wrapping_add(try!(r.solve(globals, last_global))))
[INFO] [stderr]     |                                                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:184:20
[INFO] [stderr]     |
[INFO] [stderr] 184 |                 Ok(try!(l.solve(globals, last_global)).wrapping_sub(try!(r.solve(globals, last_global))))
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:184:69
[INFO] [stderr]     |
[INFO] [stderr] 184 |                 Ok(try!(l.solve(globals, last_global)).wrapping_sub(try!(r.solve(globals, last_global))))
[INFO] [stderr]     |                                                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:187:20
[INFO] [stderr]     |
[INFO] [stderr] 187 |                 Ok(try!(l.solve(globals, last_global)).wrapping_mul(try!(r.solve(globals, last_global))))
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:187:69
[INFO] [stderr]     |
[INFO] [stderr] 187 |                 Ok(try!(l.solve(globals, last_global)).wrapping_mul(try!(r.solve(globals, last_global))))
[INFO] [stderr]     |                                                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:190:20
[INFO] [stderr]     |
[INFO] [stderr] 190 |                 Ok(try!(l.solve(globals, last_global)).wrapping_div(try!(r.solve(globals, last_global))))
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:190:69
[INFO] [stderr]     |
[INFO] [stderr] 190 |                 Ok(try!(l.solve(globals, last_global)).wrapping_div(try!(r.solve(globals, last_global))))
[INFO] [stderr]     |                                                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:193:20
[INFO] [stderr]     |
[INFO] [stderr] 193 |                 Ok(try!(l.solve(globals, last_global)) >> try!(r.solve(globals, last_global)))
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:193:59
[INFO] [stderr]     |
[INFO] [stderr] 193 |                 Ok(try!(l.solve(globals, last_global)) >> try!(r.solve(globals, last_global)))
[INFO] [stderr]     |                                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:196:20
[INFO] [stderr]     |
[INFO] [stderr] 196 |                 Ok(try!(l.solve(globals, last_global)) << try!(r.solve(globals, last_global)))
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:196:59
[INFO] [stderr]     |
[INFO] [stderr] 196 |                 Ok(try!(l.solve(globals, last_global)) << try!(r.solve(globals, last_global)))
[INFO] [stderr]     |                                                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:199:20
[INFO] [stderr]     |
[INFO] [stderr] 199 |                 Ok(try!(l.solve(globals, last_global)) % try!(r.solve(globals, last_global)))
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:199:58
[INFO] [stderr]     |
[INFO] [stderr] 199 |                 Ok(try!(l.solve(globals, last_global)) % try!(r.solve(globals, last_global)))
[INFO] [stderr]     |                                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:202:23
[INFO] [stderr]     |
[INFO] [stderr] 202 |                 Ok(if try!(l.solve(globals, last_global)) == 0 {1} else {0})
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:205:21
[INFO] [stderr]     |
[INFO] [stderr] 205 |                 Ok((try!(l.solve(globals, last_global)) <
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:206:21
[INFO] [stderr]     |
[INFO] [stderr] 206 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:209:21
[INFO] [stderr]     |
[INFO] [stderr] 209 |                 Ok((try!(l.solve(globals, last_global)) ==
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:210:21
[INFO] [stderr]     |
[INFO] [stderr] 210 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:213:21
[INFO] [stderr]     |
[INFO] [stderr] 213 |                 Ok((try!(l.solve(globals, last_global)) >
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/assembler/types.rs:214:21
[INFO] [stderr]     |
[INFO] [stderr] 214 |                     try!(r.solve(globals, last_global))) as u16)
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/byteorder.rs:16:13
[INFO] [stderr]    |
[INFO] [stderr] 16 |             try!(self.write_item::<I, B>(item.clone()));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/byteorder.rs:24:9
[INFO] [stderr]    |
[INFO] [stderr] 24 |         try!(self.read_exact(buf.as_mut()));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/byteorder.rs:54:38
[INFO] [stderr]    |
[INFO] [stderr] 54 |     fn encode_to_big_endian<I: Item>(&mut I::Buf);
[INFO] [stderr]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut I::Buf`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/byteorder.rs:55:40
[INFO] [stderr]    |
[INFO] [stderr] 55 |     fn decode_from_big_endian<I: Item>(&mut I::Buf);
[INFO] [stderr]    |                                        ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut I::Buf`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/byteorder.rs:79:31
[INFO] [stderr]    |
[INFO] [stderr] 79 |     fn decode_from_big_endian(&Self::Buf) -> Self;
[INFO] [stderr]    |                               ^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Self::Buf`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/cpu.rs:203:9
[INFO] [stderr]     |
[INFO] [stderr] 203 |         try!(self.op(instruction, devices));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/cpu.rs:218:12
[INFO] [stderr]     |
[INFO] [stderr] 218 |         Ok(try!(Instruction::decode(&bin)))
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/cpu.rs:439:36
[INFO] [stderr]     |
[INFO] [stderr] 439 |                 let (offset, op) = try!(self.decode(pc.0));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/cpu.rs:552:9
[INFO] [stderr]     |
[INFO] [stderr] 552 |         try!(self.op_set(Push, new_pc));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/cpu.rs:624:26
[INFO] [stderr]     |
[INFO] [stderr] 624 |             self.wait += try!(device.interrupt(self));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/computer.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |         try!(self.cpu.tick(&mut self.devices));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/computer.rs:24:19
[INFO] [stderr]    |
[INFO] [stderr] 24 |             match try!(device.tick(&mut self.cpu, self.current_tick)) {
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:135:15
[INFO] [stderr]     |
[INFO] [stderr] 135 |     let raw = try!(clap_parser().get_matches_from_safe(cmd.split(" ")));
[INFO] [stderr]     |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:144:29
[INFO] [stderr]     |
[INFO] [stderr] 144 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:150:28
[INFO] [stderr]     |
[INFO] [stderr] 150 |                 let from = try!(conv_iresult(expression(str_from.as_bytes())));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:152:27
[INFO] [stderr]     |
[INFO] [stderr] 152 |                 let len = try!(conv_iresult(pos_number(str_len.as_bytes())));
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:160:28
[INFO] [stderr]     |
[INFO] [stderr] 160 |                 let from = try!(conv_iresult(expression(str_from.as_bytes())));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:162:27
[INFO] [stderr]     |
[INFO] [stderr] 162 |                 let len = try!(conv_iresult(pos_number(str_len.as_bytes())));
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:173:28
[INFO] [stderr]     |
[INFO] [stderr] 173 |                 let expr = try!(conv_iresult(expression(str_expr.as_bytes())));
[INFO] [stderr]     |                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:180:26
[INFO] [stderr]     |
[INFO] [stderr] 180 |                 let id = try!(conv_iresult(pos_number(str_id.as_bytes())));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:185:30
[INFO] [stderr]     |
[INFO] [stderr] 185 |                 let parsed = try!(parse_command(&cmd.values_of("command")
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:194:26
[INFO] [stderr]     |
[INFO] [stderr] 194 |                 let id = try!(conv_iresult(pos_number(str_id.as_bytes())));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:207:29
[INFO] [stderr]     |
[INFO] [stderr] 207 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:213:29
[INFO] [stderr]     |
[INFO] [stderr] 213 |                 let count = try!(conv_iresult(pos_number(str_count.as_bytes())));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:217:17
[INFO] [stderr]     |
[INFO] [stderr] 217 |                 try!(Err(format!("unknown command \"{}\" ({:?})", cmd, args)))
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:231:17
[INFO] [stderr]     |
[INFO] [stderr] 231 |                 try!(Err(format!("garbage after {}", o)))
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/parser.rs:234:30
[INFO] [stderr]     |
[INFO] [stderr] 234 |         IResult::Error(e) => try!(Err(ErrorKind::Nom(format!("{}", e)))),
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/mod.rs:221:19
[INFO] [stderr]     |
[INFO] [stderr] 221 |             match try!(device.tick(&mut self.cpu, self.tick_number)) {
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/mod.rs:237:23
[INFO] [stderr]     |
[INFO] [stderr] 237 |             Err(e) => try!(Err(e)),
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/mod.rs:313:13
[INFO] [stderr]     |
[INFO] [stderr] 313 |             try!(self.step());
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/debugger/mod.rs:319:17
[INFO] [stderr]     |
[INFO] [stderr] 319 |                 try!(Err(ErrorKind::Breakpoint(i,
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/clock.rs:72:15
[INFO] [stderr]    |
[INFO] [stderr] 72 |         match try!(Command::from_u16(a)
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/hic.rs:272:13
[INFO] [stderr]     |
[INFO] [stderr] 272 |             try!(self.ports[port_num].try_send(val));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/hic.rs:287:27
[INFO] [stderr]     |
[INFO] [stderr] 287 |                 Err(e) => try!(Err(ErrorKind::BackendStopped(format!("{}", e)))),
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/hic.rs:319:27
[INFO] [stderr]     |
[INFO] [stderr] 319 |                 Err(_) => try!(Err(ErrorKind::BackendStopped("hic".into()))),
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/keyboard/mpsc_backend.rs:65:21
[INFO] [stderr]    |
[INFO] [stderr] 65 |                     try!(Err(ErrorKind::BackendStopped("keyboard".into()))),
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/keyboard/mod.rs:69:15
[INFO] [stderr]    |
[INFO] [stderr] 69 |         match try!(Command::from_u16(a)
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/keyboard/mod.rs:78:27
[INFO] [stderr]    |
[INFO] [stderr] 78 |                 let key = try!(Key::decode(b).map_err(|_| ErrorKind::InvalidCommand(0xffff)));
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/keyboard/mod.rs:80:21
[INFO] [stderr]    |
[INFO] [stderr] 80 |                     try!(self.backend.is_key_pressed(key)) as u16;
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/keyboard/mod.rs:88:22
[INFO] [stderr]    |
[INFO] [stderr] 88 |         let pushed = try!(self.backend.push_typed_keys(&mut self.key_buffer));
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/lem1802/serde.rs:14:13
[INFO] [stderr]    |
[INFO] [stderr] 14 |             try!(serializer.serialize_seq_fixed_size(386));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/lem1802/serde.rs:16:13
[INFO] [stderr]    |
[INFO] [stderr] 16 |             try!(state.serialize_element(word));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/lem1802/serde.rs:40:39
[INFO] [stderr]    |
[INFO] [stderr] 40 |                     vram.0[i] = match try!(visitor.visit()) {
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/lem1802/serde.rs:59:13
[INFO] [stderr]    |
[INFO] [stderr] 59 |             try!(serializer.serialize_seq_fixed_size(256));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/lem1802/serde.rs:61:13
[INFO] [stderr]    |
[INFO] [stderr] 61 |             try!(state.serialize_element(word));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/lem1802/serde.rs:85:39
[INFO] [stderr]    |
[INFO] [stderr] 85 |                     font.0[i] = match try!(visitor.visit()) {
[INFO] [stderr]    |                                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/lem1802/serde.rs:104:13
[INFO] [stderr]     |
[INFO] [stderr] 104 |             try!(serializer.serialize_seq_fixed_size(SCREEN_SIZE as usize));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/lem1802/serde.rs:106:13
[INFO] [stderr]     |
[INFO] [stderr] 106 |             try!(state.serialize_element(pixel));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/lem1802/serde.rs:132:41
[INFO] [stderr]     |
[INFO] [stderr] 132 |                     screen.0[i] = match try!(visitor.visit()) {
[INFO] [stderr]     |                                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/emulator/device/lem1802/mod.rs:28:32
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn tick<B: Backend>(&self, &Cpu, &LEM1802<B>, tick_count: u64) -> Result<()>;
[INFO] [stderr]    |                                ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Cpu`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/emulator/device/lem1802/mod.rs:28:38
[INFO] [stderr]    |
[INFO] [stderr] 28 |     fn tick<B: Backend>(&self, &Cpu, &LEM1802<B>, tick_count: u64) -> Result<()>;
[INFO] [stderr]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LEM1802<B>`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/emulator/device/lem1802/mod.rs:30:32
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn show<B: Backend>(&self, &Cpu, &LEM1802<B>) -> Result<()>;
[INFO] [stderr]    |                                ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Cpu`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/emulator/device/lem1802/mod.rs:30:38
[INFO] [stderr]    |
[INFO] [stderr] 30 |     fn show<B: Backend>(&self, &Cpu, &LEM1802<B>) -> Result<()>;
[INFO] [stderr]    |                                      ^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &LEM1802<B>`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/lem1802/mod.rs:76:15
[INFO] [stderr]    |
[INFO] [stderr] 76 |         match try!(Command::from_u16(a)
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/lem1802/mod.rs:81:21
[INFO] [stderr]    |
[INFO] [stderr] 81 |                     try!(self.backend.hide());
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/lem1802/mod.rs:83:21
[INFO] [stderr]    |
[INFO] [stderr] 83 |                     try!(self.backend.show(cpu, self));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/lem1802/mod.rs:95:9
[INFO] [stderr]    |
[INFO] [stderr] 95 |         try!(self.backend.tick(cpu, self, tick_count));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/m35fd.rs:104:15
[INFO] [stderr]     |
[INFO] [stderr] 104 |         match try!(Command::from_u16(a)
[INFO] [stderr]     |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/m35fd.rs:223:25
[INFO] [stderr]     |
[INFO] [stderr] 223 |         let mut input = try!(File::open(path));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/glium_backend.rs:72:19
[INFO] [stderr]    |
[INFO] [stderr] 72 |     let display = try!(glium::glutin::WindowBuilder::new()
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/emulator/device/glium_backend.rs:93:9
[INFO] [stderr]    |
[INFO] [stderr] 93 |         try!(glium::vertex::VertexBuffer::new(&display, &data))
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/glium_backend.rs:114:9
[INFO] [stderr]     |
[INFO] [stderr] 114 |         try!(glium::vertex::VertexBuffer::dynamic(&display, &data))
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/glium_backend.rs:118:19
[INFO] [stderr]     |
[INFO] [stderr] 118 |     let program = try!(glium::Program::from_source(&display, "
[INFO] [stderr]     |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/glium_backend.rs:182:9
[INFO] [stderr]     |
[INFO] [stderr] 182 |         try!(target.draw((&vertex_buffer, per_instance.per_instance().unwrap()),
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/glium_backend.rs:187:9
[INFO] [stderr]     |
[INFO] [stderr] 187 |         try!(target.finish());
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/emulator/device/glium_backend.rs:194:25
[INFO] [stderr]     |
[INFO] [stderr] 194 |                         try!(keyboard_sender.send(match state {
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/emulator/device/mod.rs:42:29
[INFO] [stderr]    |
[INFO] [stderr] 42 |     fn interrupt(&mut self, &mut Cpu) -> Result<InterruptDelay>;
[INFO] [stderr]    |                             ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Cpu`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stderr]   --> src/emulator/device/mod.rs:43:24
[INFO] [stderr]    |
[INFO] [stderr] 43 |     fn tick(&mut self, &mut Cpu, current_tick: u64) -> Result<TickResult>;
[INFO] [stderr]    |                        ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut Cpu`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stderr]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/types/decode.rs:25:22
[INFO] [stderr]    |
[INFO] [stderr] 25 |             let op = try!(SpecialOp::decode(b_bin));
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/types/decode.rs:29:22
[INFO] [stderr]    |
[INFO] [stderr] 29 |             let op = try!(BasicOp::decode(op_bin));
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/types/decode.rs:70:21
[INFO] [stderr]    |
[INFO] [stderr] 70 |             None => try!(Err(ErrorKind::BasicOp(op))),
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/types/decode.rs:79:21
[INFO] [stderr]    |
[INFO] [stderr] 79 |             None => try!(Err(ErrorKind::SpecialOp(op))),
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/types/fromstr.rs:54:22
[INFO] [stderr]    |
[INFO] [stderr] 54 |             _     => try!(Err(ErrorKind::BasicOp)),
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/types/fromstr.rs:76:22
[INFO] [stderr]    |
[INFO] [stderr] 76 |             _     => try!(Err(ErrorKind::SpecialOp)),
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/types/fromstr.rs:94:20
[INFO] [stderr]    |
[INFO] [stderr] 94 |             _   => try!(Err(ErrorKind::Register))
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/emulator/debugger/parser.rs:9:1
[INFO] [stderr]    |
[INFO] [stderr] 9  | / error_chain! {
[INFO] [stderr] 10 | |     foreign_links {
[INFO] [stderr] 11 | |         Clap(clap::Error);
[INFO] [stderr] 12 | |     }
[INFO] [stderr] ...  |
[INFO] [stderr] 19 | |     }
[INFO] [stderr] 20 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/emulator/device/glium_backend.rs:57:1
[INFO] [stderr]    |
[INFO] [stderr] 57 | / error_chain! {
[INFO] [stderr] 58 | |     foreign_links {
[INFO] [stderr] 59 | |         CreationError(glium::GliumCreationError<glium::glutin::CreationError>);
[INFO] [stderr] 60 | |         VertexCreationError(glium::vertex::BufferCreationError);
[INFO] [stderr] ...  |
[INFO] [stderr] 65 | |     }
[INFO] [stderr] 66 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/emulator/computer.rs:7:22
[INFO] [stderr]   |
[INFO] [stderr] 7 |     devices: Vec<Box<Device>>,
[INFO] [stderr]   |                      ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 7 |     devices: Vec<Box<dyn Device>>,
[INFO] [stderr]   |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator/debugger/mod.rs:49:23
[INFO] [stderr]    |
[INFO] [stderr] 49 |     devices: Box<[Box<device::Device>]>,
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 49 |     devices: Box<[Box<dyn device::Device>]>,
[INFO] [stderr]    |                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator/device/keyboard/mpsc_backend.rs:18:23
[INFO] [stderr]    |
[INFO] [stderr] 18 |     common: Arc<Mutex<Any + Send>>,
[INFO] [stderr]    |                       ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 18 |     common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stderr]    |                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator/device/lem1802/generic_backend.rs:19:23
[INFO] [stderr]    |
[INFO] [stderr] 19 |     common: Arc<Mutex<Any + Send>>,
[INFO] [stderr]    |                       ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 19 |     common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stderr]    |                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator/device/lem1802/generic_backend.rs:20:15
[INFO] [stderr]    |
[INFO] [stderr] 20 |     send: Box<Fn(ScreenCommand) -> Result<()> + Send + 'static>,
[INFO] [stderr]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 20 |     send: Box<dyn Fn(ScreenCommand) -> Result<()> + Send + 'static>,
[INFO] [stderr]    |               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/emulator/cpu.rs:165:47
[INFO] [stderr]     |
[INFO] [stderr] 165 |     pub fn tick(&mut self, devices: &mut [Box<Device>]) -> Result<CpuState> {
[INFO] [stderr]     |                                               ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 165 |     pub fn tick(&mut self, devices: &mut [Box<dyn Device>]) -> Result<CpuState> {
[INFO] [stderr]     |                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/emulator/cpu.rs:239:62
[INFO] [stderr]     |
[INFO] [stderr] 239 |     fn op(&mut self, i: Instruction<u16>, devices: &mut [Box<Device>]) -> Result<()> {
[INFO] [stderr]     |                                                              ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 239 |     fn op(&mut self, i: Instruction<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stderr]     |                                                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/emulator/cpu.rs:278:79
[INFO] [stderr]     |
[INFO] [stderr] 278 |     fn special_op(&mut self, op: SpecialOp, a: Value<u16>, devices: &mut [Box<Device>]) -> Result<()> {
[INFO] [stderr]     |                                                                               ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 278 |     fn special_op(&mut self, op: SpecialOp, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stderr]     |                                                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/emulator/cpu.rs:595:60
[INFO] [stderr]     |
[INFO] [stderr] 595 |     fn op_hwn(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> Result<()> {
[INFO] [stderr]     |                                                            ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 595 |     fn op_hwn(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stderr]     |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/emulator/cpu.rs:601:60
[INFO] [stderr]     |
[INFO] [stderr] 601 |     fn op_hwq(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> Result<()> {
[INFO] [stderr]     |                                                            ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 601 |     fn op_hwq(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stderr]     |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/emulator/cpu.rs:620:60
[INFO] [stderr]     |
[INFO] [stderr] 620 |     fn op_hwi(&mut self, a: Value<u16>, devices: &mut [Box<Device>]) -> Result<()> {
[INFO] [stderr]     |                                                            ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 620 |     fn op_hwi(&mut self, a: Value<u16>, devices: &mut [Box<dyn Device>]) -> Result<()> {
[INFO] [stderr]     |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator/computer.rs:12:48
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub fn new(cpu: cpu::Cpu, devices: Vec<Box<Device>>) -> Computer {
[INFO] [stderr]    |                                                ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub fn new(cpu: cpu::Cpu, devices: Vec<Box<dyn Device>>) -> Computer {
[INFO] [stderr]    |                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator/debugger/mod.rs:63:52
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn new(mut cpu: cpu::Cpu, devices: Vec<Box<device::Device>>) -> Debugger {
[INFO] [stderr]    |                                                    ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn new(mut cpu: cpu::Cpu, devices: Vec<Box<dyn device::Device>>) -> Debugger {
[INFO] [stderr]    |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator/device/mod.rs:46:34
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn as_any(&mut self) -> &mut Any;
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn as_any(&mut self) -> &mut dyn Any;
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/emulator/device/clock.rs:117:34
[INFO] [stderr]     |
[INFO] [stderr] 117 |     fn as_any(&mut self) -> &mut Any {
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 117 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator/device/dummy.rs:39:34
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn as_any(&mut self) -> &mut Any {
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator/device/eeprom.rs:93:34
[INFO] [stderr]    |
[INFO] [stderr] 93 |     fn as_any(&mut self) -> &mut Any {
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 93 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/emulator/device/hic.rs:298:34
[INFO] [stderr]     |
[INFO] [stderr] 298 |     fn as_any(&mut self) -> &mut Any {
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 298 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/emulator/device/keyboard/mod.rs:102:34
[INFO] [stderr]     |
[INFO] [stderr] 102 |     fn as_any(&mut self) -> &mut Any {
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 102 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator/device/keyboard/mpsc_backend.rs:24:34
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub fn new(common: Arc<Mutex<Any + Send>>,
[INFO] [stderr]    |                                  ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub fn new(common: Arc<Mutex<dyn Any + Send>>,
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/emulator/device/lem1802/mod.rs:120:34
[INFO] [stderr]     |
[INFO] [stderr] 120 |     fn as_any(&mut self) -> &mut Any {
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 120 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator/device/lem1802/generic_backend.rs:24:37
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub fn new<T>(common: Arc<Mutex<Any + Send>>, sender: T) -> ScreenBackend
[INFO] [stderr]    |                                     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub fn new<T>(common: Arc<Mutex<dyn Any + Send>>, sender: T) -> ScreenBackend
[INFO] [stderr]    |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/emulator/device/m35fd.rs:202:34
[INFO] [stderr]     |
[INFO] [stderr] 202 |     fn as_any(&mut self) -> &mut Any {
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 202 |     fn as_any(&mut self) -> &mut dyn Any {
[INFO] [stderr]     |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stderr]   --> src/emulator/debugger/parser.rs:9:1
[INFO] [stderr]    |
[INFO] [stderr] 9  | / error_chain! {
[INFO] [stderr] 10 | |     foreign_links {
[INFO] [stderr] 11 | |         Clap(clap::Error);
[INFO] [stderr] 12 | |     }
[INFO] [stderr] ...  |
[INFO] [stderr] 19 | |     }
[INFO] [stderr] 20 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stderr]   --> src/emulator/device/glium_backend.rs:57:1
[INFO] [stderr]    |
[INFO] [stderr] 57 | / error_chain! {
[INFO] [stderr] 58 | |     foreign_links {
[INFO] [stderr] 59 | |         CreationError(glium::GliumCreationError<glium::glutin::CreationError>);
[INFO] [stderr] 60 | |         VertexCreationError(glium::vertex::BufferCreationError);
[INFO] [stderr] ...  |
[INFO] [stderr] 65 | |     }
[INFO] [stderr] 66 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `dcpu` (lib) generated 144 warnings (run `cargo fix --lib -p dcpu` to apply 33 suggestions)
[INFO] [stderr] warning: `dcpu` (lib test) generated 144 warnings (144 duplicates)
[INFO] [stderr] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/bin/disassembler.rs:36:10
[INFO] [stderr]    |
[INFO] [stderr] 36 | #[derive(RustcDecodable)]
[INFO] [stderr]    |          ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/bin/utils/mod.rs:5:51
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn get_input(i: Option<String>) -> Result<Box<Read>, io::Error> {
[INFO] [stderr]   |                                                   ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn get_input(i: Option<String>) -> Result<Box<dyn Read>, io::Error> {
[INFO] [stderr]   |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bin/utils/mod.rs:17:52
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn get_output(o: Option<String>) -> Result<Box<Write>, io::Error> {
[INFO] [stderr]    |                                                    ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub fn get_output(o: Option<String>) -> Result<Box<dyn Write>, io::Error> {
[INFO] [stderr]    |                                                    +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/bin/emulator.rs:49:17
[INFO] [stderr]    |
[INFO] [stderr] 49 | #[derive(Debug, RustcDecodable)]
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/bin/emulator.rs:219:40
[INFO] [stderr]     |
[INFO] [stderr] 219 | fn add_keyscreen(devices: &mut Vec<Box<Device>>) -> result::Result<(), i32> {
[INFO] [stderr]     |                                        ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 219 | fn add_keyscreen(devices: &mut Vec<Box<dyn Device>>) -> result::Result<(), i32> {
[INFO] [stderr]     |                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/bin/utils/mod.rs:5:51
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn get_input(i: Option<String>) -> Result<Box<Read>, io::Error> {
[INFO] [stderr]   |                                                   ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub fn get_input(i: Option<String>) -> Result<Box<dyn Read>, io::Error> {
[INFO] [stderr]   |                                                   +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/bin/emulator.rs:86:34
[INFO] [stderr]    |
[INFO] [stderr] 86 |         let mut devices: Vec<Box<Device>> = vec![];
[INFO] [stderr]    |                                  ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 86 |         let mut devices: Vec<Box<dyn Device>> = vec![];
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/bin/assembler.rs:43:17
[INFO] [stderr]    |
[INFO] [stderr] 43 | #[derive(Debug, RustcDecodable)]
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `die`
[INFO] [stderr]   --> src/bin/utils/mod.rs:32:14
[INFO] [stderr]    |
[INFO] [stderr] 32 | macro_rules! die {
[INFO] [stderr]    |              ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_macros)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `dcpu` (bin "disassembler" test) generated 3 warnings (run `cargo fix --bin "disassembler" --tests` to apply 2 suggestions)
[INFO] [stderr] warning: `dcpu` (bin "emulator" test) generated 5 warnings (1 duplicate) (run `cargo fix --bin "emulator" --tests` to apply 3 suggestions)
[INFO] [stderr] warning: `dcpu` (bin "assembler" test) generated 4 warnings (2 duplicates)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v2.1.0, rustc-serialize v0.3.22, syn v0.11.4
[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]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/dcpu-378f1e3c7063866c)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test assembler::parser::nom_parser::test_instruction ... ok
[INFO] [stdout] test assembler::parser::nom_parser::test_directive ... ok
[INFO] [stdout] test assembler::parser::nom_parser::test_register ... ok
[INFO] [stdout] test assembler::parser::nom_parser::test_num ... ok
[INFO] [stdout] test assembler::parser::nom_parser::test_basic_op ... ok
[INFO] [stderr]      Running unittests src/bin/assembler.rs (/opt/rustwide/target/debug/deps/assembler-8c37a4f6d0bc49a1)
[INFO] [stdout] test assembler::parser::nom_parser::test_expression ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/disassembler.rs (/opt/rustwide/target/debug/deps/disassembler-40c6b223954aa1b4)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/emulator.rs (/opt/rustwide/target/debug/deps/emulator-329e471c15425ab7)
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests dcpu
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]   --> src/assembler/types.rs:67:28
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 bin.resize((n as usize), val);
[INFO] [stderr]    |                            ^          ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 67 -                 bin.resize((n as usize), val);
[INFO] [stderr] 67 +                 bin.resize(n as usize, val);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d557b394bd7a4c013c54de55d92bc3cc2099afc7118467684d55ea47a4cd0bb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d557b394bd7a4c013c54de55d92bc3cc2099afc7118467684d55ea47a4cd0bb0", kill_on_drop: false }`
[INFO] [stdout] d557b394bd7a4c013c54de55d92bc3cc2099afc7118467684d55ea47a4cd0bb0
