[INFO] crate dcpu16 0.4.0 is already in cache
[INFO] checking dcpu16-0.4.0 against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] extracting crate dcpu16 0.4.0 into /workspace/builds/worker-13/source
[INFO] validating manifest of crates.io crate dcpu16 0.4.0 on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking crates.io crate dcpu16 0.4.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate dcpu16 0.4.0
[INFO] tweaked toml for crates.io crate dcpu16 0.4.0 written to /workspace/builds/worker-13/source/Cargo.toml
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * /workspace/builds/worker-13/source/src/bin/cli.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /workspace/builds/worker-13/source/tests/test_emulator.rs
[INFO] [stderr] * /workspace/builds/worker-13/source/tests/test_assembler.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stdout] f60b5f28f1a48d094b89b95aa0a41eb9711a12aa8b0b325e2e5c156cd36a8736
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `"docker" "start" "-a" "f60b5f28f1a48d094b89b95aa0a41eb9711a12aa8b0b325e2e5c156cd36a8736"`
[INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other binary targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a binary target:
[INFO] [stderr] 
[INFO] [stderr] * /opt/rustwide/workdir/src/bin/cli.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autobins = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /opt/rustwide/workdir/tests/test_emulator.rs
[INFO] [stderr] * /opt/rustwide/workdir/tests/test_assembler.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]     Checking dcpu16 v0.4.0 (/opt/rustwide/workdir)
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/dcpu.rs:648:9
[INFO] [stderr]     |
[INFO] [stderr] 648 |         try!(file.read_to_end(&mut buffer));
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:673:17
[INFO] [stderr]     |
[INFO] [stderr] 673 |     let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:689:16
[INFO] [stderr]     |
[INFO] [stderr] 689 |             Ok(try!(process_value(value, !lvalue)))
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:695:24
[INFO] [stderr]     |
[INFO] [stderr] 695 |                     Ok(try!(process_value(*label, !lvalue)))
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:710:26
[INFO] [stderr]     |
[INFO] [stderr] 710 |             let ttype0 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:782:26
[INFO] [stderr]     |
[INFO] [stderr] 782 |             let ttype0 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:786:34
[INFO] [stderr]     |
[INFO] [stderr] 786 |                     let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:795:42
[INFO] [stderr]     |
[INFO] [stderr] 795 | ...                   let ttype2 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:799:50
[INFO] [stderr]     |
[INFO] [stderr] 799 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:818:50
[INFO] [stderr]     |
[INFO] [stderr] 818 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:865:34
[INFO] [stderr]     |
[INFO] [stderr] 865 |                     let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:874:42
[INFO] [stderr]     |
[INFO] [stderr] 874 | ...                   let ttype2 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:878:50
[INFO] [stderr]     |
[INFO] [stderr] 878 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:897:50
[INFO] [stderr]     |
[INFO] [stderr] 897 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:944:34
[INFO] [stderr]     |
[INFO] [stderr] 944 |                     let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:960:42
[INFO] [stderr]     |
[INFO] [stderr] 960 | ...                   let ttype2 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:964:50
[INFO] [stderr]     |
[INFO] [stderr] 964 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:992:50
[INFO] [stderr]     |
[INFO] [stderr] 992 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1073:17
[INFO] [stderr]      |
[INFO] [stderr] 1073 |     let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1109:17
[INFO] [stderr]      |
[INFO] [stderr] 1109 |     let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1113:21
[INFO] [stderr]      |
[INFO] [stderr] 1113 |             let b = try!(parse_value(line_no, tokens, cur, cpu, true));
[INFO] [stderr]      |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1115:13
[INFO] [stderr]      |
[INFO] [stderr] 1115 |             try!(check_comma(line_no, tokens, cur));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1117:21
[INFO] [stderr]      |
[INFO] [stderr] 1117 |             let a = try!(parse_value(line_no, tokens, cur, cpu, false));
[INFO] [stderr]      |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1119:13
[INFO] [stderr]      |
[INFO] [stderr] 1119 |             try!(check_end_of_line(line_no, tokens, cur));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1164:17
[INFO] [stderr]      |
[INFO] [stderr] 1164 |     let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1169:21
[INFO] [stderr]      |
[INFO] [stderr] 1169 |             let a = try!(parse_value(line_no, tokens, cur, cpu, false));
[INFO] [stderr]      |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1171:13
[INFO] [stderr]      |
[INFO] [stderr] 1171 |             try!(check_end_of_line(line_no, tokens, cur));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1213:13
[INFO] [stderr]      |
[INFO] [stderr] 1213 |             try!(check_comma(line_no, tokens, cur));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1217:21
[INFO] [stderr]      |
[INFO] [stderr] 1217 |         let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1252:17
[INFO] [stderr]      |
[INFO] [stderr] 1252 |     let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1268:5
[INFO] [stderr]      |
[INFO] [stderr] 1268 |     try!(check_comma(line_no, tokens, cur));
[INFO] [stderr]      |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1270:18
[INFO] [stderr]      |
[INFO] [stderr] 1270 |     let ttype2 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1286:5
[INFO] [stderr]      |
[INFO] [stderr] 1286 |     try!(check_end_of_line(line_no, tokens, cur));
[INFO] [stderr]      |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1301:11
[INFO] [stderr]      |
[INFO] [stderr] 1301 |     match try!(fetch_token_type(line_no, tokens, *cur)) {
[INFO] [stderr]      |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1303:13
[INFO] [stderr]      |
[INFO] [stderr] 1303 |             try!(parse_basic_opcode(line_no, tokens, cur, cpu));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1307:13
[INFO] [stderr]      |
[INFO] [stderr] 1307 |             try!(parse_special_opcode(line_no, tokens, cur, cpu));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1311:13
[INFO] [stderr]      |
[INFO] [stderr] 1311 |             try!(parse_data_opcode(line_no, tokens, cur, cpu));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1315:13
[INFO] [stderr]      |
[INFO] [stderr] 1315 |             try!(parse_data_fill_opcode(line_no, tokens, cur, cpu));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1320:19
[INFO] [stderr]      |
[INFO] [stderr] 1320 |             match try!(fetch_token_type(line_no, tokens, *cur)) {
[INFO] [stderr]      |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1329:24
[INFO] [stderr]      |
[INFO] [stderr] 1329 |                     Ok(try!(parse_line(line_no, tokens, cpu, cur)))
[INFO] [stderr]      |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1367:9
[INFO] [stderr]      |
[INFO] [stderr] 1367 |         try!(parse_line(line_no, &tokens, cpu, &mut cur));
[INFO] [stderr]      |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/dcpu.rs:38:26
[INFO] [stderr]    |
[INFO] [stderr] 38 |     fn as_any(&self) -> &Any;
[INFO] [stderr]    |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/dcpu.rs:39:38
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn as_any_mut(&mut self) -> &mut Any;
[INFO] [stderr]    |                                      ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/dcpu.rs:56:37
[INFO] [stderr]    |
[INFO] [stderr] 56 |     pub devices: Rc<Vec<RefCell<Box<Device>>>>,
[INFO] [stderr]    |                                     ^^^^^^ help: use `dyn`: `dyn Device`
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:146:18
[INFO] [stderr]     |
[INFO] [stderr] 146 |             0x00 ... 0x07 => { self.reg[identifier] = value; },
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:147:18
[INFO] [stderr]     |
[INFO] [stderr] 147 |             0x08 ... 0x0f => {
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:152:18
[INFO] [stderr]     |
[INFO] [stderr] 152 |             0x10 ... 0x17 => {
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:185:18
[INFO] [stderr]     |
[INFO] [stderr] 185 |             0x00 ... 0x07  => { self.reg[identifier as usize] },
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:186:18
[INFO] [stderr]     |
[INFO] [stderr] 186 |             0x08 ... 0x0f => {
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:190:18
[INFO] [stderr]     |
[INFO] [stderr] 190 |             0x10 ... 0x17 => {
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/dcpu.rs:251:46
[INFO] [stderr]     |
[INFO] [stderr] 251 |     pub fn add_device(&mut self, device: Box<Device>) -> () {
[INFO] [stderr]     |                                              ^^^^^^ help: use `dyn`: `dyn Device`
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/assembler.rs:262:13
[INFO] [stderr]     |
[INFO] [stderr] 262 |         'A' ... 'Z' | 'a' ... 'z' | '_' | '0' ... '9' => true,
[INFO] [stderr]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/assembler.rs:262:27
[INFO] [stderr]     |
[INFO] [stderr] 262 |         'A' ... 'Z' | 'a' ... 'z' | '_' | '0' ... '9' => true,
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/assembler.rs:262:47
[INFO] [stderr]     |
[INFO] [stderr] 262 |         'A' ... 'Z' | 'a' ... 'z' | '_' | '0' ... '9' => true,
[INFO] [stderr]     |                                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/assembler.rs:410:17
[INFO] [stderr]     |
[INFO] [stderr] 410 |             '0' ... '9' | '-' => {
[INFO] [stderr]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]     --> src/assembler.rs:775:9
[INFO] [stderr]      |
[INFO] [stderr] 775  | /         /**
[INFO] [stderr] 776  | |           * This whole business needs refactoring. Every case is handled by
[INFO] [stderr] 777  | |           * an explicit case, which is extremely verbose.
[INFO] [stderr] 778  | |           */
[INFO] [stderr]      | |____________^
[INFO] [stderr] 779  | 
[INFO] [stderr] 780  | /         TokenType::LeftBracket => {
[INFO] [stderr] 781  | |             *cur += 1;
[INFO] [stderr] 782  | |             let ttype0 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr] 783  | |             match *ttype0 {
[INFO] [stderr] ...    |
[INFO] [stderr] 1043 | |             }
[INFO] [stderr] 1044 | |         }
[INFO] [stderr]      | |_________- rustdoc does not generate documentation for match arms
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/disassembler.rs:114:14
[INFO] [stderr]     |
[INFO] [stderr] 114 |         0x00 ... 0x07  => { 
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/disassembler.rs:118:14
[INFO] [stderr]     |
[INFO] [stderr] 118 |         0x08 ... 0x0f => { 
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/disassembler.rs:123:14
[INFO] [stderr]     |
[INFO] [stderr] 123 |         0x10 ... 0x17 => {
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/monitor_lem1802.rs:262:26
[INFO] [stderr]     |
[INFO] [stderr] 262 |     fn as_any(&self) -> &Any {
[INFO] [stderr]     |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/monitor_lem1802.rs:266:38
[INFO] [stderr]     |
[INFO] [stderr] 266 |     fn as_any_mut(&mut self) -> &mut Any {
[INFO] [stderr]     |                                      ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/devices/clock_generic.rs:78:26
[INFO] [stderr]    |
[INFO] [stderr] 78 |     fn as_any(&self) -> &Any {
[INFO] [stderr]    |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/devices/clock_generic.rs:82:38
[INFO] [stderr]    |
[INFO] [stderr] 82 |     fn as_any_mut(&mut self) -> &mut Any {
[INFO] [stderr]    |                                      ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/devices/keyboard_generic.rs:25:18
[INFO] [stderr]    |
[INFO] [stderr] 25 |         a @ 0x61 ... 0x7a => a - 32,
[INFO] [stderr]    |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/devices/keyboard_generic.rs:26:18
[INFO] [stderr]    |
[INFO] [stderr] 26 |         a @ 0x5b ... 0x5d => a + 32,
[INFO] [stderr]    |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/keyboard_generic.rs:129:26
[INFO] [stderr]     |
[INFO] [stderr] 129 |     fn as_any(&self) -> &Any {
[INFO] [stderr]     |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/keyboard_generic.rs:133:38
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn as_any_mut(&mut self) -> &mut Any {
[INFO] [stderr]     |                                      ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/floppy_m35fd.rs:298:26
[INFO] [stderr]     |
[INFO] [stderr] 298 |     fn as_any(&self) -> &Any {
[INFO] [stderr]     |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/floppy_m35fd.rs:302:38
[INFO] [stderr]     |
[INFO] [stderr] 302 |     fn as_any_mut(&mut self) -> &mut Any {
[INFO] [stderr]     |                                      ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead
[INFO] [stderr]  --> src/assembler.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::ascii::AsciiExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/dcpu.rs:648:9
[INFO] [stderr]     |
[INFO] [stderr] 648 |         try!(file.read_to_end(&mut buffer));
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:673:17
[INFO] [stderr]     |
[INFO] [stderr] 673 |     let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:689:16
[INFO] [stderr]     |
[INFO] [stderr] 689 |             Ok(try!(process_value(value, !lvalue)))
[INFO] [stderr]     |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:695:24
[INFO] [stderr]     |
[INFO] [stderr] 695 |                     Ok(try!(process_value(*label, !lvalue)))
[INFO] [stderr]     |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:710:26
[INFO] [stderr]     |
[INFO] [stderr] 710 |             let ttype0 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:782:26
[INFO] [stderr]     |
[INFO] [stderr] 782 |             let ttype0 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:786:34
[INFO] [stderr]     |
[INFO] [stderr] 786 |                     let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:795:42
[INFO] [stderr]     |
[INFO] [stderr] 795 | ...                   let ttype2 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:799:50
[INFO] [stderr]     |
[INFO] [stderr] 799 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:818:50
[INFO] [stderr]     |
[INFO] [stderr] 818 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:865:34
[INFO] [stderr]     |
[INFO] [stderr] 865 |                     let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:874:42
[INFO] [stderr]     |
[INFO] [stderr] 874 | ...                   let ttype2 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:878:50
[INFO] [stderr]     |
[INFO] [stderr] 878 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:897:50
[INFO] [stderr]     |
[INFO] [stderr] 897 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:944:34
[INFO] [stderr]     |
[INFO] [stderr] 944 |                     let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:960:42
[INFO] [stderr]     |
[INFO] [stderr] 960 | ...                   let ttype2 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:964:50
[INFO] [stderr]     |
[INFO] [stderr] 964 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]    --> src/assembler.rs:992:50
[INFO] [stderr]     |
[INFO] [stderr] 992 | ...                   let ttype1 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1073:17
[INFO] [stderr]      |
[INFO] [stderr] 1073 |     let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1109:17
[INFO] [stderr]      |
[INFO] [stderr] 1109 |     let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1113:21
[INFO] [stderr]      |
[INFO] [stderr] 1113 |             let b = try!(parse_value(line_no, tokens, cur, cpu, true));
[INFO] [stderr]      |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1115:13
[INFO] [stderr]      |
[INFO] [stderr] 1115 |             try!(check_comma(line_no, tokens, cur));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1117:21
[INFO] [stderr]      |
[INFO] [stderr] 1117 |             let a = try!(parse_value(line_no, tokens, cur, cpu, false));
[INFO] [stderr]      |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1119:13
[INFO] [stderr]      |
[INFO] [stderr] 1119 |             try!(check_end_of_line(line_no, tokens, cur));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1164:17
[INFO] [stderr]      |
[INFO] [stderr] 1164 |     let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1169:21
[INFO] [stderr]      |
[INFO] [stderr] 1169 |             let a = try!(parse_value(line_no, tokens, cur, cpu, false));
[INFO] [stderr]      |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1171:13
[INFO] [stderr]      |
[INFO] [stderr] 1171 |             try!(check_end_of_line(line_no, tokens, cur));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1213:13
[INFO] [stderr]      |
[INFO] [stderr] 1213 |             try!(check_comma(line_no, tokens, cur));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1217:21
[INFO] [stderr]      |
[INFO] [stderr] 1217 |         let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1252:17
[INFO] [stderr]      |
[INFO] [stderr] 1252 |     let ttype = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1268:5
[INFO] [stderr]      |
[INFO] [stderr] 1268 |     try!(check_comma(line_no, tokens, cur));
[INFO] [stderr]      |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1270:18
[INFO] [stderr]      |
[INFO] [stderr] 1270 |     let ttype2 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr]      |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1286:5
[INFO] [stderr]      |
[INFO] [stderr] 1286 |     try!(check_end_of_line(line_no, tokens, cur));
[INFO] [stderr]      |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1301:11
[INFO] [stderr]      |
[INFO] [stderr] 1301 |     match try!(fetch_token_type(line_no, tokens, *cur)) {
[INFO] [stderr]      |           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1303:13
[INFO] [stderr]      |
[INFO] [stderr] 1303 |             try!(parse_basic_opcode(line_no, tokens, cur, cpu));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1307:13
[INFO] [stderr]      |
[INFO] [stderr] 1307 |             try!(parse_special_opcode(line_no, tokens, cur, cpu));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1311:13
[INFO] [stderr]      |
[INFO] [stderr] 1311 |             try!(parse_data_opcode(line_no, tokens, cur, cpu));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1315:13
[INFO] [stderr]      |
[INFO] [stderr] 1315 |             try!(parse_data_fill_opcode(line_no, tokens, cur, cpu));
[INFO] [stderr]      |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1320:19
[INFO] [stderr]      |
[INFO] [stderr] 1320 |             match try!(fetch_token_type(line_no, tokens, *cur)) {
[INFO] [stderr]      |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1329:24
[INFO] [stderr]      |
[INFO] [stderr] 1329 |                     Ok(try!(parse_line(line_no, tokens, cpu, cur)))
[INFO] [stderr]      |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]     --> src/assembler.rs:1367:9
[INFO] [stderr]      |
[INFO] [stderr] 1367 |         try!(parse_line(line_no, &tokens, cpu, &mut cur));
[INFO] [stderr]      |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/dcpu.rs:38:26
[INFO] [stderr]    |
[INFO] [stderr] 38 |     fn as_any(&self) -> &Any;
[INFO] [stderr]    |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/dcpu.rs:39:38
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn as_any_mut(&mut self) -> &mut Any;
[INFO] [stderr]    |                                      ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/dcpu.rs:56:37
[INFO] [stderr]    |
[INFO] [stderr] 56 |     pub devices: Rc<Vec<RefCell<Box<Device>>>>,
[INFO] [stderr]    |                                     ^^^^^^ help: use `dyn`: `dyn Device`
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:146:18
[INFO] [stderr]     |
[INFO] [stderr] 146 |             0x00 ... 0x07 => { self.reg[identifier] = value; },
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:147:18
[INFO] [stderr]     |
[INFO] [stderr] 147 |             0x08 ... 0x0f => {
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:152:18
[INFO] [stderr]     |
[INFO] [stderr] 152 |             0x10 ... 0x17 => {
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:185:18
[INFO] [stderr]     |
[INFO] [stderr] 185 |             0x00 ... 0x07  => { self.reg[identifier as usize] },
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:186:18
[INFO] [stderr]     |
[INFO] [stderr] 186 |             0x08 ... 0x0f => {
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/dcpu.rs:190:18
[INFO] [stderr]     |
[INFO] [stderr] 190 |             0x10 ... 0x17 => {
[INFO] [stderr]     |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/dcpu.rs:251:46
[INFO] [stderr]     |
[INFO] [stderr] 251 |     pub fn add_device(&mut self, device: Box<Device>) -> () {
[INFO] [stderr]     |                                              ^^^^^^ help: use `dyn`: `dyn Device`
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/assembler.rs:262:13
[INFO] [stderr]     |
[INFO] [stderr] 262 |         'A' ... 'Z' | 'a' ... 'z' | '_' | '0' ... '9' => true,
[INFO] [stderr]     |             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/assembler.rs:262:27
[INFO] [stderr]     |
[INFO] [stderr] 262 |         'A' ... 'Z' | 'a' ... 'z' | '_' | '0' ... '9' => true,
[INFO] [stderr]     |                           ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/assembler.rs:262:47
[INFO] [stderr]     |
[INFO] [stderr] 262 |         'A' ... 'Z' | 'a' ... 'z' | '_' | '0' ... '9' => true,
[INFO] [stderr]     |                                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/assembler.rs:410:17
[INFO] [stderr]     |
[INFO] [stderr] 410 |             '0' ... '9' | '-' => {
[INFO] [stderr]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]     --> src/assembler.rs:775:9
[INFO] [stderr]      |
[INFO] [stderr] 775  | /         /**
[INFO] [stderr] 776  | |           * This whole business needs refactoring. Every case is handled by
[INFO] [stderr] 777  | |           * an explicit case, which is extremely verbose.
[INFO] [stderr] 778  | |           */
[INFO] [stderr]      | |____________^
[INFO] [stderr] 779  | 
[INFO] [stderr] 780  | /         TokenType::LeftBracket => {
[INFO] [stderr] 781  | |             *cur += 1;
[INFO] [stderr] 782  | |             let ttype0 = try!(fetch_token_type(line_no, tokens, *cur));
[INFO] [stderr] 783  | |             match *ttype0 {
[INFO] [stderr] ...    |
[INFO] [stderr] 1043 | |             }
[INFO] [stderr] 1044 | |         }
[INFO] [stderr]      | |_________- rustdoc does not generate documentation for match arms
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/disassembler.rs:114:14
[INFO] [stderr]     |
[INFO] [stderr] 114 |         0x00 ... 0x07  => { 
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/disassembler.rs:118:14
[INFO] [stderr]     |
[INFO] [stderr] 118 |         0x08 ... 0x0f => { 
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/disassembler.rs:123:14
[INFO] [stderr]     |
[INFO] [stderr] 123 |         0x10 ... 0x17 => {
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/monitor_lem1802.rs:262:26
[INFO] [stderr]     |
[INFO] [stderr] 262 |     fn as_any(&self) -> &Any {
[INFO] [stderr]     |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/monitor_lem1802.rs:266:38
[INFO] [stderr]     |
[INFO] [stderr] 266 |     fn as_any_mut(&mut self) -> &mut Any {
[INFO] [stderr]     |                                      ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/devices/clock_generic.rs:78:26
[INFO] [stderr]    |
[INFO] [stderr] 78 |     fn as_any(&self) -> &Any {
[INFO] [stderr]    |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/devices/clock_generic.rs:82:38
[INFO] [stderr]    |
[INFO] [stderr] 82 |     fn as_any_mut(&mut self) -> &mut Any {
[INFO] [stderr]    |                                      ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/devices/keyboard_generic.rs:25:18
[INFO] [stderr]    |
[INFO] [stderr] 25 |         a @ 0x61 ... 0x7a => a - 32,
[INFO] [stderr]    |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]   --> src/devices/keyboard_generic.rs:26:18
[INFO] [stderr]    |
[INFO] [stderr] 26 |         a @ 0x5b ... 0x5d => a + 32,
[INFO] [stderr]    |                  ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/keyboard_generic.rs:129:26
[INFO] [stderr]     |
[INFO] [stderr] 129 |     fn as_any(&self) -> &Any {
[INFO] [stderr]     |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/keyboard_generic.rs:133:38
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn as_any_mut(&mut self) -> &mut Any {
[INFO] [stderr]     |                                      ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/floppy_m35fd.rs:298:26
[INFO] [stderr]     |
[INFO] [stderr] 298 |     fn as_any(&self) -> &Any {
[INFO] [stderr]     |                          ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/devices/floppy_m35fd.rs:302:38
[INFO] [stderr]     |
[INFO] [stderr] 302 |     fn as_any_mut(&mut self) -> &mut Any {
[INFO] [stderr]     |                                      ^^^ help: use `dyn`: `dyn Any`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::ascii::AsciiExt': use inherent methods instead
[INFO] [stderr]  --> src/assembler.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::ascii::AsciiExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stderr]  --> src/assembler.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::ascii::AsciiExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stderr]  --> src/assembler.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::ascii::AsciiExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/devices/monitor_lem1802.rs:150:17
[INFO] [stderr]     |
[INFO] [stderr] 150 |             let mut slice = &mut v[..];
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/devices/monitor_lem1802.rs:150:17
[INFO] [stderr]     |
[INFO] [stderr] 150 |             let mut slice = &mut v[..];
[INFO] [stderr]     |                 ----^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/disassembler.rs:54:72
[INFO] [stderr]    |
[INFO] [stderr] 54 |             println!("Could not open file {}: {}", path.display(), why.description());
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/assembler.rs:58:72
[INFO] [stderr]    |
[INFO] [stderr] 58 |             println!("Could not open file {}: {}", path.display(), why.description());
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/assembler.rs:79:80
[INFO] [stderr]    |
[INFO] [stderr] 79 |                     println!("Could not open file {}: {}", path.display(), why.description());
[INFO] [stderr]    |                                                                                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/disassembler.rs:54:72
[INFO] [stderr]    |
[INFO] [stderr] 54 |             println!("Could not open file {}: {}", path.display(), why.description());
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/assembler.rs:58:72
[INFO] [stderr]    |
[INFO] [stderr] 58 |             println!("Could not open file {}: {}", path.display(), why.description());
[INFO] [stderr]    |                                                                        ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
[INFO] [stderr]   --> src/bin/assembler.rs:79:80
[INFO] [stderr]    |
[INFO] [stderr] 79 |                     println!("Could not open file {}: {}", path.display(), why.description());
[INFO] [stderr]    |                                                                                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.95s
[INFO] running `"docker" "inspect" "f60b5f28f1a48d094b89b95aa0a41eb9711a12aa8b0b325e2e5c156cd36a8736"`
[INFO] running `"docker" "rm" "-f" "f60b5f28f1a48d094b89b95aa0a41eb9711a12aa8b0b325e2e5c156cd36a8736"`
[INFO] [stdout] f60b5f28f1a48d094b89b95aa0a41eb9711a12aa8b0b325e2e5c156cd36a8736
