[INFO] cloning repository https://github.com/apoloval/simproc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/apoloval/simproc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fapoloval%2Fsimproc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fapoloval%2Fsimproc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9cea797591c4a6f84fe36dfc68286286aa9924a6
[INFO] testing apoloval/simproc against beta-2020-10-09 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fapoloval%2Fsimproc" "/workspace/builds/worker-3/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/apoloval/simproc on toolchain beta-2020-10-09
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/apoloval/simproc
[INFO] finished tweaking git repo https://github.com/apoloval/simproc
[INFO] tweaked toml for git repo https://github.com/apoloval/simproc written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate git repo https://github.com/apoloval/simproc already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-10-09" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2ac0e990cb2d8be2331c991eb522646a1a13ea4e526abaa6b8532b660a33071b
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "2ac0e990cb2d8be2331c991eb522646a1a13ea4e526abaa6b8532b660a33071b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2ac0e990cb2d8be2331c991eb522646a1a13ea4e526abaa6b8532b660a33071b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2ac0e990cb2d8be2331c991eb522646a1a13ea4e526abaa6b8532b660a33071b", kill_on_drop: false }`
[INFO] [stdout] 2ac0e990cb2d8be2331c991eb522646a1a13ea4e526abaa6b8532b660a33071b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e37ec8947a4697216c76f61b358f30191116c0a6b7614ae5424e3484380161e0
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "e37ec8947a4697216c76f61b358f30191116c0a6b7614ae5424e3484380161e0", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex v0.2.10
[INFO] [stderr]    Compiling serde v1.0.37
[INFO] [stderr]    Compiling byteorder v1.2.2
[INFO] [stderr]    Compiling memchr v2.0.1
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling time v0.1.39
[INFO] [stderr]    Compiling regex-syntax v0.5.3
[INFO] [stderr]    Compiling proc-macro2 v0.3.5
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling aho-corasick v0.6.4
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling quote v0.5.1
[INFO] [stderr]    Compiling syn v0.13.1
[INFO] [stderr]    Compiling serde_derive_internals v0.23.0
[INFO] [stderr]    Compiling serde_derive v1.0.37
[INFO] [stderr]    Compiling docopt v0.8.3
[INFO] [stderr]    Compiling simproc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:24:54
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn exec<M: Memory>(inst: &RuntimeInst, ctx: &mut ExecCtx<Mem=M>) -> Cycle {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:79:34
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn exec_add<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, carry: bool) -> Cycle {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn exec_addi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8) -> Cycle {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn do_add<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8, carry: bool) {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:105:34
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn exec_sub<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, carry: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn exec_subi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:117:32
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn do_sub<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8, carry: bool) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, logic: L) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:148:15
[INFO] [stdout]     |
[INFO] [stdout] 148 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, logic: L) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:165:34
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn exec_inc<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, positive: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:179:35
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn exec_incw<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, positive: bool) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:194:15
[INFO] [stdout]     |
[INFO] [stdout] 194 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, f: F, g: G) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:209:34
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn exec_mov<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:217:33
[INFO] [stdout]     |
[INFO] [stdout] 217 | fn exec_ld<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: AddrReg) -> Cycle {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:225:34
[INFO] [stdout]     |
[INFO] [stdout] 225 | fn exec_ldd<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Addr) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:231:34
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn exec_ldi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, val: u8) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:236:34
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn exec_ldw<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, addr: Addr) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:241:33
[INFO] [stdout]     |
[INFO] [stdout] 241 | fn exec_st<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, src: Reg) -> Cycle {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:249:34
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn exec_std<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Addr, src: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:255:35
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn exec_ldsp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: AddrReg) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:262:35
[INFO] [stdout]     |
[INFO] [stdout] 262 | fn exec_push<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: Reg) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:270:34
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn exec_pop<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:278:33
[INFO] [stdout]     |
[INFO] [stdout] 278 | fn exec_in<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, port: IoPort) -> Cycle {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:285:34
[INFO] [stdout]     |
[INFO] [stdout] 285 | fn exec_out<M: Memory>(ctx: &mut ExecCtx<Mem=M>, port: IoPort, src: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:293:15
[INFO] [stdout]     |
[INFO] [stdout] 293 |     ctx: &mut ExecCtx<Mem=M>, offset: RelAddr, f: F, is_call: bool) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:308:34
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn exec_jmp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, addr: Addr, is_call: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:320:35
[INFO] [stdout]     |
[INFO] [stdout] 320 | fn exec_ijmp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: AddrReg, is_call: bool) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn exec_ret<M: Memory>(ctx: &mut ExecCtx<Mem=M>, enable_int: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:336:34
[INFO] [stdout]     |
[INFO] [stdout] 336 | fn exec_nop<M: Memory>(ctx: &mut ExecCtx<Mem=M>) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:342:38
[INFO] [stdout]     |
[INFO] [stdout] 342 | fn exec_set_int<M: Memory>(ctx: &mut ExecCtx<Mem=M>, enabled: bool) -> Cycle {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/io.rs:17:43
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Io<'a> { devs: HashMap<u8, Box<IoDevice + 'a>> }
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^ help: use `dyn`: `dyn IoDevice + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mem/bank.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn select_page(&self, addr: Addr) -> (&Memory, Addr) {
[INFO] [stdout]    |                                            ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mem/bank.rs:32:56
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn select_page_mut(&mut self, addr: Addr) -> (&mut Memory, Addr) {
[INFO] [stdout]    |                                                        ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spm/main.rs:60:15
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let rom = try!(File::open(romfile));
[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/bin/spasm/asm/parser.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let head = try!(self.next_expr_from(tk));
[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/bin/spasm/asm/parser.rs:140:42
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 Some(Token::Comma) => { list.push(try!(self.next_expr())); },
[INFO] [stdout]     |                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/data.rs:73:32
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     let byte = try!(to_u8(n).ok_or(DataAssemblyError::Overflow {
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/data.rs:86:36
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 Expr::Number(n) => try!(full_assemble_number(&self.size, n, &mut result)),
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/data.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let n = *try!(symbols.get(id).ok_or(DataAssemblyError::Undefined(id.clone())));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/data.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     try!(full_assemble_number(&self.size, n, &mut result));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/data.rs:93:25
[INFO] [stdout]    |
[INFO] [stdout] 93 |                         try!(full_assemble_number(&self.size, c as i64, &mut result));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     try!(inst.encode(output));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     try!(output.write(data));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |                     try!(Self::dump_text_line(base_addr, &[], line, output));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |                     try!(inst.encode(&mut buff));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     try!(Self::dump_text_line(base_addr, &buff, line, output));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     try!(Self::dump_text_line(base_addr, data, line, output));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/assembler.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         try!(write!(output, "0x{:04x} : ", addr));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/assembler.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |             try!(write!(output, "{:02x} ", b));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/assembler.rs:113:34
[INFO] [stdout]     |
[INFO] [stdout] 113 |             for _ in nbytes..4 { try!(write!(output, "   ")); }
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/assembler.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             try!(write!(output, "\n         "));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/assembler.rs:116:29
[INFO] [stdout]     |
[INFO] [stdout] 116 |             for _ in 0..4 { try!(write!(output, "   ")); }
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:33:30
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 Ok(Inst::Add(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:33:62
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 Ok(Inst::Add(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 Ok(Inst::Adc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:35:62
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 Ok(Inst::Adc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 Ok(Inst::Addi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:37:62
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 Ok(Inst::Addi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:39:30
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 Ok(Inst::Sub(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:39:62
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 Ok(Inst::Sub(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 Ok(Inst::Sbc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:41:62
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 Ok(Inst::Sbc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 Ok(Inst::Subi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:43:62
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 Ok(Inst::Subi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 Ok(Inst::And(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:45:62
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 Ok(Inst::And(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:47:29
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 Ok(Inst::Or(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:47:61
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 Ok(Inst::Or(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 Ok(Inst::Xor(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:49:62
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 Ok(Inst::Xor(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 Ok(Inst::Lsl(try!(self.expr_asm.to_reg(r1)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:53:30
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 Ok(Inst::Lsr(try!(self.expr_asm.to_reg(r1)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:55:30
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 Ok(Inst::Asr(try!(self.expr_asm.to_reg(r1)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:57:30
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 Ok(Inst::Neg(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 Ok(Inst::Com(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:61:30
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 Ok(Inst::Inc(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 Ok(Inst::Incw(try!(self.expr_asm.to_areg(r)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:65:30
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Ok(Inst::Dec(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:67:31
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 Ok(Inst::Decw(try!(self.expr_asm.to_areg(r)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 Ok(Inst::Mov(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:70:62
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 Ok(Inst::Mov(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 Ok(Inst::Ld(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_areg(r2)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:72:61
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 Ok(Inst::Ld(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_areg(r2)))),
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:74:29
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 Ok(Inst::St(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:74:62
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 Ok(Inst::St(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:76:30
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 Ok(Inst::Ldd(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_addr(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:76:62
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 Ok(Inst::Ldd(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_addr(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 Ok(Inst::Ldw(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_addr(addr)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:78:63
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 Ok(Inst::Ldw(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_addr(addr)))),
[INFO] [stdout]    |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:80:30
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 Ok(Inst::Std(try!(self.expr_asm.to_addr(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:80:63
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 Ok(Inst::Std(try!(self.expr_asm.to_addr(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:82:30
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 Ok(Inst::Ldi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:82:61
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 Ok(Inst::Ldi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:84:31
[INFO] [stdout]    |
[INFO] [stdout] 84 |                 Ok(Inst::Ldsp(try!(self.expr_asm.to_areg(r)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:86:31
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 Ok(Inst::Push(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 Ok(Inst::Pop(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:90:29
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 Ok(Inst::In(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_ioport(p)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:90:60
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 Ok(Inst::In(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_ioport(p)))),
[INFO] [stdout]    |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:92:30
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Ok(Inst::Out(try!(self.expr_asm.to_ioport(p)), try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:92:64
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Ok(Inst::Out(try!(self.expr_asm.to_ioport(p)), try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:95:30
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 Ok(Inst::Jnz(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:97:29
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 Ok(Inst::Jz(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:99:29
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 Ok(Inst::Jp(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 Ok(Inst::Jn(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 Ok(Inst::Jcc(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:105:30
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 Ok(Inst::Jcs(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:107:30
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 Ok(Inst::Jvc(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:109:30
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 Ok(Inst::Jvs(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |                 Ok(Inst::Jmp(try!(self.expr_asm.to_addr(a)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:113:31
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 Ok(Inst::Rjmp(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:115:31
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 Ok(Inst::Ijmp(try!(self.expr_asm.to_areg(r)))),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 Ok(Inst::Call(try!(self.expr_asm.to_addr(a)))),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:119:32
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 Ok(Inst::Rcall(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 Ok(Inst::Icall(try!(self.expr_asm.to_areg(r)))),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bin/spasm/asm/lexer.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |             '1' ... '9' => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bin/spasm/asm/lexer.rs:250:17
[INFO] [stdout]     |
[INFO] [stdout] 250 |             'a' ... 'z' | 'A' ... 'Z' | '_' => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bin/spasm/asm/lexer.rs:250:31
[INFO] [stdout]     |
[INFO] [stdout] 250 |             'a' ... 'z' | 'A' ... 'Z' | '_' => {
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 83 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 48.92s
[INFO] running `Command { std: "docker" "inspect" "e37ec8947a4697216c76f61b358f30191116c0a6b7614ae5424e3484380161e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e37ec8947a4697216c76f61b358f30191116c0a6b7614ae5424e3484380161e0", kill_on_drop: false }`
[INFO] [stdout] e37ec8947a4697216c76f61b358f30191116c0a6b7614ae5424e3484380161e0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 105b471c0fb1250110482d8f8484f6d9b3427a5c908faa9631ff722c5ca175d6
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "105b471c0fb1250110482d8f8484f6d9b3427a5c908faa9631ff722c5ca175d6", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]    Compiling rand v0.3.22
[INFO] [stderr]    Compiling env_logger v0.3.5
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:24:54
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn exec<M: Memory>(inst: &RuntimeInst, ctx: &mut ExecCtx<Mem=M>) -> Cycle {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:79:34
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn exec_add<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, carry: bool) -> Cycle {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn exec_addi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8) -> Cycle {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn do_add<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8, carry: bool) {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:105:34
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn exec_sub<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, carry: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn exec_subi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:117:32
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn do_sub<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8, carry: bool) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, logic: L) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:148:15
[INFO] [stdout]     |
[INFO] [stdout] 148 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, logic: L) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:165:34
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn exec_inc<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, positive: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:179:35
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn exec_incw<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, positive: bool) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:194:15
[INFO] [stdout]     |
[INFO] [stdout] 194 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, f: F, g: G) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:209:34
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn exec_mov<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:217:33
[INFO] [stdout]     |
[INFO] [stdout] 217 | fn exec_ld<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: AddrReg) -> Cycle {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:225:34
[INFO] [stdout]     |
[INFO] [stdout] 225 | fn exec_ldd<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Addr) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:231:34
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn exec_ldi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, val: u8) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:236:34
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn exec_ldw<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, addr: Addr) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:241:33
[INFO] [stdout]     |
[INFO] [stdout] 241 | fn exec_st<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, src: Reg) -> Cycle {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:249:34
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn exec_std<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Addr, src: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:255:35
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn exec_ldsp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: AddrReg) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:262:35
[INFO] [stdout]     |
[INFO] [stdout] 262 | fn exec_push<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: Reg) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:270:34
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn exec_pop<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:278:33
[INFO] [stdout]     |
[INFO] [stdout] 278 | fn exec_in<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, port: IoPort) -> Cycle {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:285:34
[INFO] [stdout]     |
[INFO] [stdout] 285 | fn exec_out<M: Memory>(ctx: &mut ExecCtx<Mem=M>, port: IoPort, src: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:293:15
[INFO] [stdout]     |
[INFO] [stdout] 293 |     ctx: &mut ExecCtx<Mem=M>, offset: RelAddr, f: F, is_call: bool) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:308:34
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn exec_jmp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, addr: Addr, is_call: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:320:35
[INFO] [stdout]     |
[INFO] [stdout] 320 | fn exec_ijmp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: AddrReg, is_call: bool) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn exec_ret<M: Memory>(ctx: &mut ExecCtx<Mem=M>, enable_int: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:336:34
[INFO] [stdout]     |
[INFO] [stdout] 336 | fn exec_nop<M: Memory>(ctx: &mut ExecCtx<Mem=M>) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:342:38
[INFO] [stdout]     |
[INFO] [stdout] 342 | fn exec_set_int<M: Memory>(ctx: &mut ExecCtx<Mem=M>, enabled: bool) -> Cycle {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/io.rs:17:43
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Io<'a> { devs: HashMap<u8, Box<IoDevice + 'a>> }
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^ help: use `dyn`: `dyn IoDevice + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mem/bank.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn select_page(&self, addr: Addr) -> (&Memory, Addr) {
[INFO] [stdout]    |                                            ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mem/bank.rs:32:56
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn select_page_mut(&mut self, addr: Addr) -> (&mut Memory, Addr) {
[INFO] [stdout]    |                                                        ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling quickcheck v0.2.27
[INFO] [stderr]    Compiling simproc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spm/main.rs:60:15
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let rom = try!(File::open(romfile));
[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/bin/spasm/asm/parser.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |         let head = try!(self.next_expr_from(tk));
[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/bin/spasm/asm/parser.rs:140:42
[INFO] [stdout]     |
[INFO] [stdout] 140 |                 Some(Token::Comma) => { list.push(try!(self.next_expr())); },
[INFO] [stdout]     |                                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/data.rs:73:32
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     let byte = try!(to_u8(n).ok_or(DataAssemblyError::Overflow {
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/data.rs:86:36
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 Expr::Number(n) => try!(full_assemble_number(&self.size, n, &mut result)),
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/data.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let n = *try!(symbols.get(id).ok_or(DataAssemblyError::Undefined(id.clone())));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/data.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     try!(full_assemble_number(&self.size, n, &mut result));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/data.rs:93:25
[INFO] [stdout]    |
[INFO] [stdout] 93 |                         try!(full_assemble_number(&self.size, c as i64, &mut result));
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |                     try!(inst.encode(output));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     try!(output.write(data));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:86:21
[INFO] [stdout]    |
[INFO] [stdout] 86 |                     try!(Self::dump_text_line(base_addr, &[], line, output));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:90:21
[INFO] [stdout]    |
[INFO] [stdout] 90 |                     try!(inst.encode(&mut buff));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:91:21
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     try!(Self::dump_text_line(base_addr, &buff, line, output));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/assembler.rs:94:21
[INFO] [stdout]    |
[INFO] [stdout] 94 |                     try!(Self::dump_text_line(base_addr, data, line, output));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/assembler.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         try!(write!(output, "0x{:04x} : ", addr));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/assembler.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |             try!(write!(output, "{:02x} ", b));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/assembler.rs:113:34
[INFO] [stdout]     |
[INFO] [stdout] 113 |             for _ in nbytes..4 { try!(write!(output, "   ")); }
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/assembler.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             try!(write!(output, "\n         "));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/assembler.rs:116:29
[INFO] [stdout]     |
[INFO] [stdout] 116 |             for _ in 0..4 { try!(write!(output, "   ")); }
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:33:30
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 Ok(Inst::Add(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:33:62
[INFO] [stdout]    |
[INFO] [stdout] 33 |                 Ok(Inst::Add(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:35:30
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 Ok(Inst::Adc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:35:62
[INFO] [stdout]    |
[INFO] [stdout] 35 |                 Ok(Inst::Adc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:37:31
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 Ok(Inst::Addi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:37:62
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 Ok(Inst::Addi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:39:30
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 Ok(Inst::Sub(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:39:62
[INFO] [stdout]    |
[INFO] [stdout] 39 |                 Ok(Inst::Sub(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:41:30
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 Ok(Inst::Sbc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:41:62
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 Ok(Inst::Sbc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 Ok(Inst::Subi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:43:62
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 Ok(Inst::Subi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:45:30
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 Ok(Inst::And(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:45:62
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 Ok(Inst::And(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:47:29
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 Ok(Inst::Or(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:47:61
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 Ok(Inst::Or(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:49:30
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 Ok(Inst::Xor(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:49:62
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 Ok(Inst::Xor(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:51:30
[INFO] [stdout]    |
[INFO] [stdout] 51 |                 Ok(Inst::Lsl(try!(self.expr_asm.to_reg(r1)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:53:30
[INFO] [stdout]    |
[INFO] [stdout] 53 |                 Ok(Inst::Lsr(try!(self.expr_asm.to_reg(r1)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:55:30
[INFO] [stdout]    |
[INFO] [stdout] 55 |                 Ok(Inst::Asr(try!(self.expr_asm.to_reg(r1)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:57:30
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 Ok(Inst::Neg(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:59:30
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 Ok(Inst::Com(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:61:30
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 Ok(Inst::Inc(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 Ok(Inst::Incw(try!(self.expr_asm.to_areg(r)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:65:30
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Ok(Inst::Dec(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:67:31
[INFO] [stdout]    |
[INFO] [stdout] 67 |                 Ok(Inst::Decw(try!(self.expr_asm.to_areg(r)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:70:30
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 Ok(Inst::Mov(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:70:62
[INFO] [stdout]    |
[INFO] [stdout] 70 |                 Ok(Inst::Mov(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:72:29
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 Ok(Inst::Ld(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_areg(r2)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:72:61
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 Ok(Inst::Ld(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_areg(r2)))),
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:74:29
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 Ok(Inst::St(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:74:62
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 Ok(Inst::St(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:76:30
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 Ok(Inst::Ldd(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_addr(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:76:62
[INFO] [stdout]    |
[INFO] [stdout] 76 |                 Ok(Inst::Ldd(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_addr(r2)))),
[INFO] [stdout]    |                                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:78:30
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 Ok(Inst::Ldw(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_addr(addr)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:78:63
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 Ok(Inst::Ldw(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_addr(addr)))),
[INFO] [stdout]    |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:80:30
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 Ok(Inst::Std(try!(self.expr_asm.to_addr(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:80:63
[INFO] [stdout]    |
[INFO] [stdout] 80 |                 Ok(Inst::Std(try!(self.expr_asm.to_addr(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stdout]    |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:82:30
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 Ok(Inst::Ldi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:82:61
[INFO] [stdout]    |
[INFO] [stdout] 82 |                 Ok(Inst::Ldi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:84:31
[INFO] [stdout]    |
[INFO] [stdout] 84 |                 Ok(Inst::Ldsp(try!(self.expr_asm.to_areg(r)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:86:31
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 Ok(Inst::Push(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 Ok(Inst::Pop(try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:90:29
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 Ok(Inst::In(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_ioport(p)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:90:60
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 Ok(Inst::In(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_ioport(p)))),
[INFO] [stdout]    |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:92:30
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Ok(Inst::Out(try!(self.expr_asm.to_ioport(p)), try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:92:64
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Ok(Inst::Out(try!(self.expr_asm.to_ioport(p)), try!(self.expr_asm.to_reg(r)))),
[INFO] [stdout]    |                                                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:95:30
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 Ok(Inst::Jnz(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:97:29
[INFO] [stdout]    |
[INFO] [stdout] 97 |                 Ok(Inst::Jz(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/spasm/asm/inst/full.rs:99:29
[INFO] [stdout]    |
[INFO] [stdout] 99 |                 Ok(Inst::Jp(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]    |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:101:29
[INFO] [stdout]     |
[INFO] [stdout] 101 |                 Ok(Inst::Jn(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:103:30
[INFO] [stdout]     |
[INFO] [stdout] 103 |                 Ok(Inst::Jcc(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:105:30
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 Ok(Inst::Jcs(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:107:30
[INFO] [stdout]     |
[INFO] [stdout] 107 |                 Ok(Inst::Jvc(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:109:30
[INFO] [stdout]     |
[INFO] [stdout] 109 |                 Ok(Inst::Jvs(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:111:30
[INFO] [stdout]     |
[INFO] [stdout] 111 |                 Ok(Inst::Jmp(try!(self.expr_asm.to_addr(a)))),
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:113:31
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 Ok(Inst::Rjmp(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:115:31
[INFO] [stdout]     |
[INFO] [stdout] 115 |                 Ok(Inst::Ijmp(try!(self.expr_asm.to_areg(r)))),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:117:31
[INFO] [stdout]     |
[INFO] [stdout] 117 |                 Ok(Inst::Call(try!(self.expr_asm.to_addr(a)))),
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:119:32
[INFO] [stdout]     |
[INFO] [stdout] 119 |                 Ok(Inst::Rcall(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/spasm/asm/inst/full.rs:121:32
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 Ok(Inst::Icall(try!(self.expr_asm.to_areg(r)))),
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bin/spasm/asm/lexer.rs:245:17
[INFO] [stdout]     |
[INFO] [stdout] 245 |             '1' ... '9' => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bin/spasm/asm/lexer.rs:250:17
[INFO] [stdout]     |
[INFO] [stdout] 250 |             'a' ... 'z' | 'A' ... 'Z' | '_' => {
[INFO] [stdout]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bin/spasm/asm/lexer.rs:250:31
[INFO] [stdout]     |
[INFO] [stdout] 250 |             'a' ... 'z' | 'A' ... 'Z' | '_' => {
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:24:54
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn exec<M: Memory>(inst: &RuntimeInst, ctx: &mut ExecCtx<Mem=M>) -> Cycle {
[INFO] [stdout]    |                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:79:34
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn exec_add<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, carry: bool) -> Cycle {
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:86:35
[INFO] [stdout]    |
[INFO] [stdout] 86 | fn exec_addi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8) -> Cycle {
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/exec.rs:91:32
[INFO] [stdout]    |
[INFO] [stdout] 91 | fn do_add<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8, carry: bool) {
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:105:34
[INFO] [stdout]     |
[INFO] [stdout] 105 | fn exec_sub<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, carry: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:112:35
[INFO] [stdout]     |
[INFO] [stdout] 112 | fn exec_subi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:117:32
[INFO] [stdout]     |
[INFO] [stdout] 117 | fn do_sub<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8, carry: bool) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:132:15
[INFO] [stdout]     |
[INFO] [stdout] 132 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, logic: L) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:148:15
[INFO] [stdout]     |
[INFO] [stdout] 148 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, logic: L) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:165:34
[INFO] [stdout]     |
[INFO] [stdout] 165 | fn exec_inc<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, positive: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:179:35
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn exec_incw<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, positive: bool) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:194:15
[INFO] [stdout]     |
[INFO] [stdout] 194 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, f: F, g: G) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:209:34
[INFO] [stdout]     |
[INFO] [stdout] 209 | fn exec_mov<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:217:33
[INFO] [stdout]     |
[INFO] [stdout] 217 | fn exec_ld<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: AddrReg) -> Cycle {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:225:34
[INFO] [stdout]     |
[INFO] [stdout] 225 | fn exec_ldd<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Addr) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:231:34
[INFO] [stdout]     |
[INFO] [stdout] 231 | fn exec_ldi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, val: u8) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:236:34
[INFO] [stdout]     |
[INFO] [stdout] 236 | fn exec_ldw<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, addr: Addr) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:241:33
[INFO] [stdout]     |
[INFO] [stdout] 241 | fn exec_st<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, src: Reg) -> Cycle {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:249:34
[INFO] [stdout]     |
[INFO] [stdout] 249 | fn exec_std<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Addr, src: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:255:35
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn exec_ldsp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: AddrReg) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:262:35
[INFO] [stdout]     |
[INFO] [stdout] 262 | fn exec_push<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: Reg) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:270:34
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn exec_pop<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:278:33
[INFO] [stdout]     |
[INFO] [stdout] 278 | fn exec_in<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, port: IoPort) -> Cycle {
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:285:34
[INFO] [stdout]     |
[INFO] [stdout] 285 | fn exec_out<M: Memory>(ctx: &mut ExecCtx<Mem=M>, port: IoPort, src: Reg) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:293:15
[INFO] [stdout]     |
[INFO] [stdout] 293 |     ctx: &mut ExecCtx<Mem=M>, offset: RelAddr, f: F, is_call: bool) -> Cycle
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:308:34
[INFO] [stdout]     |
[INFO] [stdout] 308 | fn exec_jmp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, addr: Addr, is_call: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:320:35
[INFO] [stdout]     |
[INFO] [stdout] 320 | fn exec_ijmp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: AddrReg, is_call: bool) -> Cycle {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:325:34
[INFO] [stdout]     |
[INFO] [stdout] 325 | fn exec_ret<M: Memory>(ctx: &mut ExecCtx<Mem=M>, enable_int: bool) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:336:34
[INFO] [stdout]     |
[INFO] [stdout] 336 | fn exec_nop<M: Memory>(ctx: &mut ExecCtx<Mem=M>) -> Cycle {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cpu/exec.rs:342:38
[INFO] [stdout]     |
[INFO] [stdout] 342 | fn exec_set_int<M: Memory>(ctx: &mut ExecCtx<Mem=M>, enabled: bool) -> Cycle {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/cpu/io.rs:17:43
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct Io<'a> { devs: HashMap<u8, Box<IoDevice + 'a>> }
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^ help: use `dyn`: `dyn IoDevice + 'a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mem/bank.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn select_page(&self, addr: Addr) -> (&Memory, Addr) {
[INFO] [stdout]    |                                            ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/mem/bank.rs:32:56
[INFO] [stdout]    |
[INFO] [stdout] 32 |     fn select_page_mut(&mut self, addr: Addr) -> (&mut Memory, Addr) {
[INFO] [stdout]    |                                                        ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 33 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 83 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 12.67s
[INFO] running `Command { std: "docker" "inspect" "105b471c0fb1250110482d8f8484f6d9b3427a5c908faa9631ff722c5ca175d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "105b471c0fb1250110482d8f8484f6d9b3427a5c908faa9631ff722c5ca175d6", kill_on_drop: false }`
[INFO] [stdout] 105b471c0fb1250110482d8f8484f6d9b3427a5c908faa9631ff722c5ca175d6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-10-09" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 92fd211c3160ab62c1e6584c3c3b0ddfb405c75a2b17539a5e96ecd8bd496fc2
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "92fd211c3160ab62c1e6584c3c3b0ddfb405c75a2b17539a5e96ecd8bd496fc2", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/exec.rs:24:54
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn exec<M: Memory>(inst: &RuntimeInst, ctx: &mut ExecCtx<Mem=M>) -> Cycle {
[INFO] [stderr]    |                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/exec.rs:79:34
[INFO] [stderr]    |
[INFO] [stderr] 79 | fn exec_add<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, carry: bool) -> Cycle {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/exec.rs:86:35
[INFO] [stderr]    |
[INFO] [stderr] 86 | fn exec_addi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8) -> Cycle {
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/exec.rs:91:32
[INFO] [stderr]    |
[INFO] [stderr] 91 | fn do_add<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8, carry: bool) {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:105:34
[INFO] [stderr]     |
[INFO] [stderr] 105 | fn exec_sub<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, carry: bool) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:112:35
[INFO] [stderr]     |
[INFO] [stderr] 112 | fn exec_subi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8) -> Cycle {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:117:32
[INFO] [stderr]     |
[INFO] [stderr] 117 | fn do_sub<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8, carry: bool) {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:132:15
[INFO] [stderr]     |
[INFO] [stderr] 132 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, logic: L) -> Cycle
[INFO] [stderr]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:148:15
[INFO] [stderr]     |
[INFO] [stderr] 148 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, logic: L) -> Cycle
[INFO] [stderr]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:165:34
[INFO] [stderr]     |
[INFO] [stderr] 165 | fn exec_inc<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, positive: bool) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:179:35
[INFO] [stderr]     |
[INFO] [stderr] 179 | fn exec_incw<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, positive: bool) -> Cycle {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:194:15
[INFO] [stderr]     |
[INFO] [stderr] 194 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, f: F, g: G) -> Cycle
[INFO] [stderr]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:209:34
[INFO] [stderr]     |
[INFO] [stderr] 209 | fn exec_mov<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:217:33
[INFO] [stderr]     |
[INFO] [stderr] 217 | fn exec_ld<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: AddrReg) -> Cycle {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:225:34
[INFO] [stderr]     |
[INFO] [stderr] 225 | fn exec_ldd<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Addr) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:231:34
[INFO] [stderr]     |
[INFO] [stderr] 231 | fn exec_ldi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, val: u8) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:236:34
[INFO] [stderr]     |
[INFO] [stderr] 236 | fn exec_ldw<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, addr: Addr) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:241:33
[INFO] [stderr]     |
[INFO] [stderr] 241 | fn exec_st<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, src: Reg) -> Cycle {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:249:34
[INFO] [stderr]     |
[INFO] [stderr] 249 | fn exec_std<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Addr, src: Reg) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:255:35
[INFO] [stderr]     |
[INFO] [stderr] 255 | fn exec_ldsp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: AddrReg) -> Cycle {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:262:35
[INFO] [stderr]     |
[INFO] [stderr] 262 | fn exec_push<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: Reg) -> Cycle {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:270:34
[INFO] [stderr]     |
[INFO] [stderr] 270 | fn exec_pop<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:278:33
[INFO] [stderr]     |
[INFO] [stderr] 278 | fn exec_in<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, port: IoPort) -> Cycle {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:285:34
[INFO] [stderr]     |
[INFO] [stderr] 285 | fn exec_out<M: Memory>(ctx: &mut ExecCtx<Mem=M>, port: IoPort, src: Reg) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:293:15
[INFO] [stderr]     |
[INFO] [stderr] 293 |     ctx: &mut ExecCtx<Mem=M>, offset: RelAddr, f: F, is_call: bool) -> Cycle
[INFO] [stderr]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:308:34
[INFO] [stderr]     |
[INFO] [stderr] 308 | fn exec_jmp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, addr: Addr, is_call: bool) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:320:35
[INFO] [stderr]     |
[INFO] [stderr] 320 | fn exec_ijmp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: AddrReg, is_call: bool) -> Cycle {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:325:34
[INFO] [stderr]     |
[INFO] [stderr] 325 | fn exec_ret<M: Memory>(ctx: &mut ExecCtx<Mem=M>, enable_int: bool) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:336:34
[INFO] [stderr]     |
[INFO] [stderr] 336 | fn exec_nop<M: Memory>(ctx: &mut ExecCtx<Mem=M>) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:342:38
[INFO] [stderr]     |
[INFO] [stderr] 342 | fn exec_set_int<M: Memory>(ctx: &mut ExecCtx<Mem=M>, enabled: bool) -> Cycle {
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/io.rs:17:43
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct Io<'a> { devs: HashMap<u8, Box<IoDevice + 'a>> }
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^ help: use `dyn`: `dyn IoDevice + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mem/bank.rs:25:44
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn select_page(&self, addr: Addr) -> (&Memory, Addr) {
[INFO] [stderr]    |                                            ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mem/bank.rs:32:56
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn select_page_mut(&mut self, addr: Addr) -> (&mut Memory, Addr) {
[INFO] [stderr]    |                                                        ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stderr] 
[INFO] [stderr] warning: 33 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spm/main.rs:60:15
[INFO] [stderr]    |
[INFO] [stderr] 60 |     let rom = try!(File::open(romfile));
[INFO] [stderr]    |               ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/parser.rs:136:17
[INFO] [stderr]     |
[INFO] [stderr] 136 |         let head = try!(self.next_expr_from(tk));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/exec.rs:24:54
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn exec<M: Memory>(inst: &RuntimeInst, ctx: &mut ExecCtx<Mem=M>) -> Cycle {
[INFO] [stderr]    |                                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/exec.rs:79:34
[INFO] [stderr]    |
[INFO] [stderr] 79 | fn exec_add<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, carry: bool) -> Cycle {
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/exec.rs:86:35
[INFO] [stderr]    |
[INFO] [stderr] 86 | fn exec_addi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8) -> Cycle {
[INFO] [stderr]    |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/parser.rs:140:42
[INFO] [stderr]     |
[INFO] [stderr] 140 |                 Some(Token::Comma) => { list.push(try!(self.next_expr())); },
[INFO] [stderr]     |                                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/data.rs:73:32
[INFO] [stderr]    |
[INFO] [stderr] 73 |                     let byte = try!(to_u8(n).ok_or(DataAssemblyError::Overflow {
[INFO] [stderr]    |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/data.rs:86:36
[INFO] [stderr]    |
[INFO] [stderr] 86 |                 Expr::Number(n) => try!(full_assemble_number(&self.size, n, &mut result)),
[INFO] [stderr]    |                                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/data.rs:88:30
[INFO] [stderr]    |
[INFO] [stderr] 88 |                     let n = *try!(symbols.get(id).ok_or(DataAssemblyError::Undefined(id.clone())));
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/data.rs:89:21
[INFO] [stderr]    |
[INFO] [stderr] 89 |                     try!(full_assemble_number(&self.size, n, &mut result));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/data.rs:93:25
[INFO] [stderr]    |
[INFO] [stderr] 93 |                         try!(full_assemble_number(&self.size, c as i64, &mut result));
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/assembler.rs:71:21
[INFO] [stderr]    |
[INFO] [stderr] 71 |                     try!(inst.encode(output));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/assembler.rs:74:21
[INFO] [stderr]    |
[INFO] [stderr] 74 |                     try!(output.write(data));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/assembler.rs:86:21
[INFO] [stderr]    |
[INFO] [stderr] 86 |                     try!(Self::dump_text_line(base_addr, &[], line, output));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/assembler.rs:90:21
[INFO] [stderr]    |
[INFO] [stderr] 90 |                     try!(inst.encode(&mut buff));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/assembler.rs:91:21
[INFO] [stderr]    |
[INFO] [stderr] 91 |                     try!(Self::dump_text_line(base_addr, &buff, line, output));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/assembler.rs:94:21
[INFO] [stderr]    |
[INFO] [stderr] 94 |                     try!(Self::dump_text_line(base_addr, data, line, output));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/assembler.rs:108:9
[INFO] [stderr]     |
[INFO] [stderr] 108 |         try!(write!(output, "0x{:04x} : ", addr));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/assembler.rs:110:13
[INFO] [stderr]     |
[INFO] [stderr] 110 |             try!(write!(output, "{:02x} ", b));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/assembler.rs:113:34
[INFO] [stderr]     |
[INFO] [stderr] 113 |             for _ in nbytes..4 { try!(write!(output, "   ")); }
[INFO] [stderr]     |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/assembler.rs:115:13
[INFO] [stderr]     |
[INFO] [stderr] 115 |             try!(write!(output, "\n         "));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/assembler.rs:116:29
[INFO] [stderr]     |
[INFO] [stderr] 116 |             for _ in 0..4 { try!(write!(output, "   ")); }
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:33:30
[INFO] [stderr]    |
[INFO] [stderr] 33 |                 Ok(Inst::Add(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:33:62
[INFO] [stderr]    |
[INFO] [stderr] 33 |                 Ok(Inst::Add(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:35:30
[INFO] [stderr]    |
[INFO] [stderr] 35 |                 Ok(Inst::Adc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:35:62
[INFO] [stderr]    |
[INFO] [stderr] 35 |                 Ok(Inst::Adc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:37:31
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 Ok(Inst::Addi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:37:62
[INFO] [stderr]    |
[INFO] [stderr] 37 |                 Ok(Inst::Addi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stderr]    |                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:39:30
[INFO] [stderr]    |
[INFO] [stderr] 39 |                 Ok(Inst::Sub(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:39:62
[INFO] [stderr]    |
[INFO] [stderr] 39 |                 Ok(Inst::Sub(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:41:30
[INFO] [stderr]    |
[INFO] [stderr] 41 |                 Ok(Inst::Sbc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:41:62
[INFO] [stderr]    |
[INFO] [stderr] 41 |                 Ok(Inst::Sbc(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:43:31
[INFO] [stderr]    |
[INFO] [stderr] 43 |                 Ok(Inst::Subi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:43:62
[INFO] [stderr]    |
[INFO] [stderr] 43 |                 Ok(Inst::Subi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stderr]    |                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:45:30
[INFO] [stderr]    |
[INFO] [stderr] 45 |                 Ok(Inst::And(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:45:62
[INFO] [stderr]    |
[INFO] [stderr] 45 |                 Ok(Inst::And(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:47:29
[INFO] [stderr]    |
[INFO] [stderr] 47 |                 Ok(Inst::Or(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:47:61
[INFO] [stderr]    |
[INFO] [stderr] 47 |                 Ok(Inst::Or(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:49:30
[INFO] [stderr]    |
[INFO] [stderr] 49 |                 Ok(Inst::Xor(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:49:62
[INFO] [stderr]    |
[INFO] [stderr] 49 |                 Ok(Inst::Xor(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:51:30
[INFO] [stderr]    |
[INFO] [stderr] 51 |                 Ok(Inst::Lsl(try!(self.expr_asm.to_reg(r1)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:53:30
[INFO] [stderr]    |
[INFO] [stderr] 53 |                 Ok(Inst::Lsr(try!(self.expr_asm.to_reg(r1)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:55:30
[INFO] [stderr]    |
[INFO] [stderr] 55 |                 Ok(Inst::Asr(try!(self.expr_asm.to_reg(r1)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:57:30
[INFO] [stderr]    |
[INFO] [stderr] 57 |                 Ok(Inst::Neg(try!(self.expr_asm.to_reg(r)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:59:30
[INFO] [stderr]    |
[INFO] [stderr] 59 |                 Ok(Inst::Com(try!(self.expr_asm.to_reg(r)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:61:30
[INFO] [stderr]    |
[INFO] [stderr] 61 |                 Ok(Inst::Inc(try!(self.expr_asm.to_reg(r)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:63:31
[INFO] [stderr]    |
[INFO] [stderr] 63 |                 Ok(Inst::Incw(try!(self.expr_asm.to_areg(r)))),
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:65:30
[INFO] [stderr]    |
[INFO] [stderr] 65 |                 Ok(Inst::Dec(try!(self.expr_asm.to_reg(r)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:67:31
[INFO] [stderr]    |
[INFO] [stderr] 67 |                 Ok(Inst::Decw(try!(self.expr_asm.to_areg(r)))),
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:70:30
[INFO] [stderr]    |
[INFO] [stderr] 70 |                 Ok(Inst::Mov(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:70:62
[INFO] [stderr]    |
[INFO] [stderr] 70 |                 Ok(Inst::Mov(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:72:29
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 Ok(Inst::Ld(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_areg(r2)))),
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:72:61
[INFO] [stderr]    |
[INFO] [stderr] 72 |                 Ok(Inst::Ld(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_areg(r2)))),
[INFO] [stderr]    |                                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:74:29
[INFO] [stderr]    |
[INFO] [stderr] 74 |                 Ok(Inst::St(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:74:62
[INFO] [stderr]    |
[INFO] [stderr] 74 |                 Ok(Inst::St(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:76:30
[INFO] [stderr]    |
[INFO] [stderr] 76 |                 Ok(Inst::Ldd(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_addr(r2)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:76:62
[INFO] [stderr]    |
[INFO] [stderr] 76 |                 Ok(Inst::Ldd(try!(self.expr_asm.to_reg(r1)), try!(self.expr_asm.to_addr(r2)))),
[INFO] [stderr]    |                                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:78:30
[INFO] [stderr]    |
[INFO] [stderr] 78 |                 Ok(Inst::Ldw(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_addr(addr)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:78:63
[INFO] [stderr]    |
[INFO] [stderr] 78 |                 Ok(Inst::Ldw(try!(self.expr_asm.to_areg(r1)), try!(self.expr_asm.to_addr(addr)))),
[INFO] [stderr]    |                                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:80:30
[INFO] [stderr]    |
[INFO] [stderr] 80 |                 Ok(Inst::Std(try!(self.expr_asm.to_addr(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:80:63
[INFO] [stderr]    |
[INFO] [stderr] 80 |                 Ok(Inst::Std(try!(self.expr_asm.to_addr(r1)), try!(self.expr_asm.to_reg(r2)))),
[INFO] [stderr]    |                                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:82:30
[INFO] [stderr]    |
[INFO] [stderr] 82 |                 Ok(Inst::Ldi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:82:61
[INFO] [stderr]    |
[INFO] [stderr] 82 |                 Ok(Inst::Ldi(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_immediate(l)))),
[INFO] [stderr]    |                                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:84:31
[INFO] [stderr]    |
[INFO] [stderr] 84 |                 Ok(Inst::Ldsp(try!(self.expr_asm.to_areg(r)))),
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:86:31
[INFO] [stderr]    |
[INFO] [stderr] 86 |                 Ok(Inst::Push(try!(self.expr_asm.to_reg(r)))),
[INFO] [stderr]    |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:88:30
[INFO] [stderr]    |
[INFO] [stderr] 88 |                 Ok(Inst::Pop(try!(self.expr_asm.to_reg(r)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:90:29
[INFO] [stderr]    |
[INFO] [stderr] 90 |                 Ok(Inst::In(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_ioport(p)))),
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:90:60
[INFO] [stderr]    |
[INFO] [stderr] 90 |                 Ok(Inst::In(try!(self.expr_asm.to_reg(r)), try!(self.expr_asm.to_ioport(p)))),
[INFO] [stderr]    |                                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:92:30
[INFO] [stderr]    |
[INFO] [stderr] 92 |                 Ok(Inst::Out(try!(self.expr_asm.to_ioport(p)), try!(self.expr_asm.to_reg(r)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:92:64
[INFO] [stderr]    |
[INFO] [stderr] 92 |                 Ok(Inst::Out(try!(self.expr_asm.to_ioport(p)), try!(self.expr_asm.to_reg(r)))),
[INFO] [stderr]    |                                                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:95:30
[INFO] [stderr]    |
[INFO] [stderr] 95 |                 Ok(Inst::Jnz(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:97:29
[INFO] [stderr]    |
[INFO] [stderr] 97 |                 Ok(Inst::Jz(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/bin/spasm/asm/inst/full.rs:99:29
[INFO] [stderr]    |
[INFO] [stderr] 99 |                 Ok(Inst::Jp(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stderr]    |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/inst/full.rs:101:29
[INFO] [stderr]     |
[INFO] [stderr] 101 |                 Ok(Inst::Jn(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/inst/full.rs:103:30
[INFO] [stderr]     |
[INFO] [stderr] 103 |                 Ok(Inst::Jcc(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/inst/full.rs:105:30
[INFO] [stderr]     |
[INFO] [stderr] 105 |                 Ok(Inst::Jcs(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/inst/full.rs:107:30
[INFO] [stderr]     |
[INFO] [stderr] 107 |                 Ok(Inst::Jvc(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/inst/full.rs:109:30
[INFO] [stderr]     |
[INFO] [stderr] 109 |                 Ok(Inst::Jvs(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/inst/full.rs:111:30
[INFO] [stderr]     |
[INFO] [stderr] 111 |                 Ok(Inst::Jmp(try!(self.expr_asm.to_addr(a)))),
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/inst/full.rs:113:31
[INFO] [stderr]     |
[INFO] [stderr] 113 |                 Ok(Inst::Rjmp(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/inst/full.rs:115:31
[INFO] [stderr]     |
[INFO] [stderr] 115 |                 Ok(Inst::Ijmp(try!(self.expr_asm.to_areg(r)))),
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/inst/full.rs:117:31
[INFO] [stderr]     |
[INFO] [stderr] 117 |                 Ok(Inst::Call(try!(self.expr_asm.to_addr(a)))),
[INFO] [stderr]     |                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/inst/full.rs:119:32
[INFO] [stderr]     |
[INFO] [stderr] 119 |                 Ok(Inst::Rcall(try!(self.expr_asm.to_raddr(a, base)))),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/bin/spasm/asm/inst/full.rs:121:32
[INFO] [stderr]     |
[INFO] [stderr] 121 |                 Ok(Inst::Icall(try!(self.expr_asm.to_areg(r)))),
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bin/spasm/asm/lexer.rs:245:17
[INFO] [stderr]     |
[INFO] [stderr] 245 |             '1' ... '9' => {
[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/bin/spasm/asm/lexer.rs:250:17
[INFO] [stderr]     |
[INFO] [stderr] 250 |             'a' ... 'z' | 'A' ... 'Z' | '_' => {
[INFO] [stderr]     |                 ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bin/spasm/asm/lexer.rs:250:31
[INFO] [stderr]     |
[INFO] [stderr] 250 |             'a' ... 'z' | 'A' ... 'Z' | '_' => {
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: 83 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/exec.rs:91:32
[INFO] [stderr]    |
[INFO] [stderr] 91 | fn do_add<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8, carry: bool) {
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:105:34
[INFO] [stderr]     |
[INFO] [stderr] 105 | fn exec_sub<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, carry: bool) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:112:35
[INFO] [stderr]     |
[INFO] [stderr] 112 | fn exec_subi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8) -> Cycle {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:117:32
[INFO] [stderr]     |
[INFO] [stderr] 117 | fn do_sub<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: u8, carry: bool) {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:132:15
[INFO] [stderr]     |
[INFO] [stderr] 132 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, logic: L) -> Cycle
[INFO] [stderr]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:148:15
[INFO] [stderr]     |
[INFO] [stderr] 148 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg, logic: L) -> Cycle
[INFO] [stderr]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:165:34
[INFO] [stderr]     |
[INFO] [stderr] 165 | fn exec_inc<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, positive: bool) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:179:35
[INFO] [stderr]     |
[INFO] [stderr] 179 | fn exec_incw<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, positive: bool) -> Cycle {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:194:15
[INFO] [stderr]     |
[INFO] [stderr] 194 |     ctx: &mut ExecCtx<Mem=M>, dst: Reg, f: F, g: G) -> Cycle
[INFO] [stderr]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:209:34
[INFO] [stderr]     |
[INFO] [stderr] 209 | fn exec_mov<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Reg) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:217:33
[INFO] [stderr]     |
[INFO] [stderr] 217 | fn exec_ld<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: AddrReg) -> Cycle {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:225:34
[INFO] [stderr]     |
[INFO] [stderr] 225 | fn exec_ldd<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, src: Addr) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:231:34
[INFO] [stderr]     |
[INFO] [stderr] 231 | fn exec_ldi<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, val: u8) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:236:34
[INFO] [stderr]     |
[INFO] [stderr] 236 | fn exec_ldw<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, addr: Addr) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:241:33
[INFO] [stderr]     |
[INFO] [stderr] 241 | fn exec_st<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: AddrReg, src: Reg) -> Cycle {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:249:34
[INFO] [stderr]     |
[INFO] [stderr] 249 | fn exec_std<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Addr, src: Reg) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:255:35
[INFO] [stderr]     |
[INFO] [stderr] 255 | fn exec_ldsp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: AddrReg) -> Cycle {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:262:35
[INFO] [stderr]     |
[INFO] [stderr] 262 | fn exec_push<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: Reg) -> Cycle {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:270:34
[INFO] [stderr]     |
[INFO] [stderr] 270 | fn exec_pop<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:278:33
[INFO] [stderr]     |
[INFO] [stderr] 278 | fn exec_in<M: Memory>(ctx: &mut ExecCtx<Mem=M>, dst: Reg, port: IoPort) -> Cycle {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout] running 231 tests
[INFO] [stderr]    --> src/cpu/exec.rs:285:34
[INFO] [stderr]     |
[INFO] [stderr] 285 | fn exec_out<M: Memory>(ctx: &mut ExecCtx<Mem=M>, port: IoPort, src: Reg) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:293:15
[INFO] [stderr]     |
[INFO] [stderr] 293 |     ctx: &mut ExecCtx<Mem=M>, offset: RelAddr, f: F, is_call: bool) -> Cycle
[INFO] [stderr]     |               ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:308:34
[INFO] [stderr]     |
[INFO] [stderr] 308 | fn exec_jmp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, addr: Addr, is_call: bool) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:320:35
[INFO] [stderr]     |
[INFO] [stderr] 320 | fn exec_ijmp<M: Memory>(ctx: &mut ExecCtx<Mem=M>, src: AddrReg, is_call: bool) -> Cycle {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:325:34
[INFO] [stderr]     |
[INFO] [stderr] 325 | fn exec_ret<M: Memory>(ctx: &mut ExecCtx<Mem=M>, enable_int: bool) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:336:34
[INFO] [stderr]     |
[INFO] [stderr] 336 | fn exec_nop<M: Memory>(ctx: &mut ExecCtx<Mem=M>) -> Cycle {
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/cpu/exec.rs:342:38
[INFO] [stderr]     |
[INFO] [stderr] 342 | fn exec_set_int<M: Memory>(ctx: &mut ExecCtx<Mem=M>, enabled: bool) -> Cycle {
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^ help: use `dyn`: `dyn ExecCtx<Mem=M>`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/cpu/io.rs:17:43
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct Io<'a> { devs: HashMap<u8, Box<IoDevice + 'a>> }
[INFO] [stderr]    |                                           ^^^^^^^^^^^^^ help: use `dyn`: `dyn IoDevice + 'a`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mem/bank.rs:25:44
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn select_page(&self, addr: Addr) -> (&Memory, Addr) {
[INFO] [stderr]    |                                            ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/mem/bank.rs:32:56
[INFO] [stderr]    |
[INFO] [stderr] 32 |     fn select_page_mut(&mut self, addr: Addr) -> (&mut Memory, Addr) {
[INFO] [stderr]    |                                                        ^^^^^^ help: use `dyn`: `dyn Memory`
[INFO] [stderr] 
[INFO] [stderr] warning: 33 warnings emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/simproc-48eb6ec01523c159
[INFO] [stdout] test cpu::clock::test::should_compute_cycles ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_addi ... ok
[INFO] [stdout] test cpu::exec::test::should_compute_cycles_after_exec_mov ... ok
[INFO] [stdout] test cpu::exec::test::should_compute_cycles_after_exec_ld ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_add_ignoring_carry ... ok
[INFO] [stdout] test cpu::cpu::test::should_step_over ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_adc_honoring_carry ... ok
[INFO] [stdout] test cpu::exec::test::should_compute_cycles_after_exec_st ... ok
[INFO] [stdout] test cpu::exec::test::should_compute_cycles_after_exec_add ... ok
[INFO] [stdout] test cpu::cpu::test::should_step_interpreting_invalid_opcode_as_nop ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_adc ... ok
[INFO] [stdout] test cpu::exec::test::should_compute_cycles_after_exec_sub ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_add ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_asr ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_and ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_call ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_decw ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_halt ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_jcs ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_dec ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_com ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_ijmp ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_incw ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_icall ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_di ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_ei ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_jcc ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_inc ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_jp ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_jnz ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_in ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_jn ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_neg ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_jmp ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_jvs ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_jz ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_ldd ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_ldsp ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_mov ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_ldw ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_ldi ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_jvc ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_lsl ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_lsr ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_ld ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_pop ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_ret ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_sbc ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_or ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_reti ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_out ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_nop ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_rcall ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_rjmp ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_sbc_honoring_carry ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_push ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_st ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_subi ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_xor ... ok
[INFO] [stdout] test cpu::exec::test::should_update_carry_after_exec_add ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_sub_ignoring_carry ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_sub ... ok
[INFO] [stdout] test cpu::exec::test::should_exec_std ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_asr ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_and ... ok
[INFO] [stdout] test cpu::exec::test::should_update_carry_after_exec_addi ... ok
[INFO] [stdout] test cpu::exec::test::should_update_carry_after_exec_asr ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_subi ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_or ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_xor ... ok
[INFO] [stdout] test cpu::exec::test::should_update_overflow_after_exec_add ... ok
[INFO] [stdout] test cpu::exec::test::should_update_overflow_after_exec_addi ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_sub ... ok
[INFO] [stdout] test cpu::exec::test::should_update_overflow_after_exec_asr ... ok
[INFO] [stdout] test cpu::exec::test::should_update_overflow_after_exec_dec ... ok
[INFO] [stdout] test cpu::exec::test::should_update_overflow_after_exec_decw ... ok
[INFO] [stdout] test cpu::exec::test::should_update_overflow_after_exec_inc ... ok
[INFO] [stdout] test cpu::exec::test::should_update_overflow_after_exec_incw ... ok
[INFO] [stdout] test cpu::exec::test::should_update_overflow_after_exec_lsl ... ok
[INFO] [stdout] test cpu::exec::test::should_update_overflow_after_exec_lsr ... ok
[INFO] [stdout] test cpu::exec::test::should_update_overflow_after_exec_sub ... ok
[INFO] [stdout] test cpu::exec::test::should_update_overflow_after_exec_subi ... ok
[INFO] [stdout] test cpu::exec::test::should_update_pc_after_exec_add ... ok
[INFO] [stdout] test cpu::exec::test::should_update_pc_after_exec_and ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_com ... ok
[INFO] [stdout] test cpu::exec::test::should_update_pc_after_exec_ld ... ok
[INFO] [stdout] test cpu::exec::test::should_update_pc_after_exec_mov ... ok
[INFO] [stdout] test cpu::exec::test::should_update_carry_after_exec_lsl ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_lsl ... ok
[INFO] [stdout] test cpu::exec::test::should_update_carry_after_exec_sub ... ok
[INFO] [stdout] test cpu::exec::test::should_update_carry_after_exec_subi ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_add ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_addi ... ok
[INFO] [stdout] test cpu::exec::test::should_update_carry_after_exec_lsr ... ok
[INFO] [stdout] test cpu::exec::test::should_update_pc_after_exec_or ... ok
[INFO] [stdout] test cpu::exec::test::should_update_pc_after_exec_xor ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_decw ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_inc ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_com ... ok
[INFO] [stdout] test cpu::exec::test::should_update_pc_after_exec_st ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_addi ... ok
[INFO] [stdout] test cpu::exec::test::should_update_pc_after_exec_sub ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_asr ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_dec ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_incw ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_and ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_add ... ok
[INFO] [stdout] test cpu::io::test::should_write_to_attached ... ok
[INFO] [stdout] test cpu::io::test::should_read_zero_on_unattached ... ok
[INFO] [stdout] test cpu::reg::test::should_bind_aregs_to_dataregs ... ok
[INFO] [stdout] test cpu::exec::test::should_update_neg_after_exec_neg ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_lsl ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_lsr ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_sub ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_decw ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_incw ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_neg ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_subi ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_or ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_inc ... ok
[INFO] [stdout] test cpu::io::test::should_read_from_attached ... ok
[INFO] [stdout] test cpu::reg::test::should_get_reg ... ok
[INFO] [stdout] test cpu::reg::test::should_get_areg ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_xor ... ok
[INFO] [stdout] test cpu::exec::test::should_update_zero_after_exec_dec ... ok
[INFO] [stdout] test cpu::reg::test::should_bind_dataregs_to_aregs ... ok
[INFO] [stdout] test inst::inst::test::decode_add ... ok
[INFO] [stdout] test inst::inst::test::decode_asr ... ok
[INFO] [stdout] test inst::inst::test::decode_addi ... ok
[INFO] [stdout] test inst::inst::test::decode_ijmp ... ok
[INFO] [stdout] test inst::inst::test::decode_call ... ok
[INFO] [stdout] test inst::inst::test::decode_com ... ok
[INFO] [stdout] test inst::inst::test::decode_dec ... ok
[INFO] [stdout] test inst::inst::test::decode_decw ... ok
[INFO] [stdout] test cpu::reg::test::should_set_areg ... ok
[INFO] [stdout] test inst::inst::test::decode_in ... ok
[INFO] [stdout] test inst::inst::test::decode_ei ... ok
[INFO] [stdout] test inst::inst::test::decode_halt ... ok
[INFO] [stdout] test cpu::reg::test::should_set_reg ... ok
[INFO] [stdout] test inst::inst::test::decode_inc ... ok
[INFO] [stdout] test inst::inst::test::decode_and ... ok
[INFO] [stdout] test inst::inst::test::decode_adc ... ok
[INFO] [stdout] test inst::inst::test::decode_di ... ok
[INFO] [stdout] test inst::inst::test::decode_icall ... ok
[INFO] [stdout] test inst::inst::test::decode_jp ... ok
[INFO] [stdout] test inst::inst::test::decode_jn ... ok
[INFO] [stdout] test inst::inst::test::decode_ld ... ok
[INFO] [stdout] test inst::inst::test::decode_jcc ... ok
[INFO] [stdout] test inst::inst::test::decode_jcs ... ok
[INFO] [stdout] test inst::inst::test::decode_incw ... ok
[INFO] [stdout] test inst::inst::test::decode_jnz ... ok
[INFO] [stdout] test inst::inst::test::decode_jvc ... ok
[INFO] [stdout] test inst::inst::test::decode_jvs ... ok
[INFO] [stdout] test inst::inst::test::decode_jz ... ok
[INFO] [stdout] test inst::inst::test::decode_lsr ... ok
[INFO] [stdout] test inst::inst::test::decode_jmp ... ok
[INFO] [stdout] test inst::inst::test::decode_rjmp ... ok
[INFO] [stdout] test inst::inst::test::decode_ldsp ... ok
[INFO] [stdout] test inst::inst::test::decode_ldi ... ok
[INFO] [stdout] test inst::inst::test::decode_nop ... ok
[INFO] [stdout] test inst::inst::test::decode_or ... ok
[INFO] [stdout] test inst::inst::test::decode_push ... ok
[INFO] [stdout] test inst::inst::test::decode_neg ... ok
[INFO] [stdout] test inst::inst::test::decode_rcall ... ok
[INFO] [stdout] test inst::inst::test::decode_out ... ok
[INFO] [stdout] test inst::inst::test::decode_ret ... ok
[INFO] [stdout] test inst::inst::test::decode_ldw ... ok
[INFO] [stdout] test inst::inst::test::decode_reti ... ok
[INFO] [stdout] test inst::inst::test::decode_mov ... ok
[INFO] [stdout] test inst::inst::test::decode_lsl ... ok
[INFO] [stdout] test inst::inst::test::decode_std ... ok
[INFO] [stdout] test inst::inst::test::decode_st ... ok
[INFO] [stdout] test inst::inst::test::decode_pop ... ok
[INFO] [stdout] test inst::inst::test::decode_sub ... ok
[INFO] [stdout] test inst::inst::test::decode_ldd ... ok
[INFO] [stdout] test inst::inst::test::decode_sbc ... ok
[INFO] [stdout] test inst::inst::test::decode_xor ... ok
[INFO] [stdout] test inst::inst::test::encode_adc ... ok
[INFO] [stdout] test inst::inst::test::encode_com ... ok
[INFO] [stdout] test inst::inst::test::encode_halt ... ok
[INFO] [stdout] test inst::inst::test::encode_incw ... ok
[INFO] [stdout] test inst::inst::test::encode_inc ... ok
[INFO] [stdout] test inst::inst::test::encode_in ... ok
[INFO] [stdout] test inst::inst::test::encode_and ... ok
[INFO] [stdout] test inst::inst::test::encode_asr ... ok
[INFO] [stdout] test inst::inst::test::encode_call ... ok
[INFO] [stdout] test inst::inst::test::encode_add ... ok
[INFO] [stdout] test inst::inst::test::encode_decw ... ok
[INFO] [stdout] test inst::inst::test::encode_addi ... ok
[INFO] [stdout] test inst::inst::test::encode_di ... ok
[INFO] [stdout] test inst::inst::test::encode_icall ... ok
[INFO] [stdout] test inst::inst::test::encode_ei ... ok
[INFO] [stdout] test inst::inst::test::encode_dec ... ok
[INFO] [stdout] test inst::inst::test::decode_subi ... ok
[INFO] [stdout] test inst::inst::test::encode_ijmp ... ok
[INFO] [stdout] test inst::inst::test::encode_jcs ... ok
[INFO] [stdout] test inst::inst::test::encode_mov ... ok
[INFO] [stdout] test inst::inst::test::encode_jvs ... ok
[INFO] [stdout] test inst::inst::test::encode_neg ... ok
[INFO] [stdout] test inst::inst::test::encode_lsr ... ok
[INFO] [stdout] test inst::inst::test::encode_jvc ... ok
[INFO] [stdout] test inst::inst::test::encode_ldd ... ok
[INFO] [stdout] test inst::inst::test::encode_push ... ok
[INFO] [stdout] test inst::inst::test::encode_ldi ... ok
[INFO] [stdout] test inst::inst::test::encode_ld ... ok
[INFO] [stdout] test inst::inst::test::encode_ldsp ... ok
[INFO] [stdout] test inst::inst::test::encode_jmp ... ok
[INFO] [stdout] test inst::inst::test::encode_out ... ok
[INFO] [stdout] test inst::inst::test::encode_pop ... ok
[INFO] [stdout] test inst::inst::test::encode_nop ... ok
[INFO] [stdout] test inst::inst::test::encode_or ... ok
[INFO] [stdout] test inst::inst::test::encode_jn ... ok
[INFO] [stdout] test inst::inst::test::encode_ldw ... ok
[INFO] [stdout] test inst::inst::test::encode_jp ... ok
[INFO] [stdout] test inst::inst::test::encode_lsl ... ok
[INFO] [stdout] test inst::inst::test::encode_jnz ... ok
[INFO] [stdout] test inst::inst::test::encode_jcc ... ok
[INFO] [stdout] test inst::inst::test::encode_jz ... ok
[INFO] [stdout] test inst::inst::test::encode_rcall ... ok
[INFO] [stdout] test inst::inst::test::encode_sbc ... ok
[INFO] [stdout] test inst::inst::test::encode_subi ... ok
[INFO] [stdout] test inst::inst::test::encode_ret ... ok
[INFO] [stdout] test inst::inst::test::encode_reti ... ok
[INFO] [stdout] test inst::inst::test::encode_xor ... ok
[INFO] [stdout] test inst::inst::test::encode_st ... ok
[INFO] [stdout] test inst::inst::test::encode_std ... ok
[INFO] [stdout] test inst::inst::test::encode_sub ... ok
[INFO] [stdout] test mem::page::test::ram_page_should_read_and_write ... ok
[INFO] [stdout] test inst::inst::test::encode_rjmp ... ok
[INFO] [stdout] test mem::bank::test::should_address_pages ... ok
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/spasm-b878cd8209326156
[INFO] [stdout] test mem::page::test::rom_page_should_read ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 231 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 169 tests
[INFO] [stdout] test args::test::should_produce_bin_from_args ... ok
[INFO] [stdout] test args::test::should_produce_version_from_args ... ok
[INFO] [stdout] test args::test::should_produce_text_from_args ... ok
[INFO] [stdout] test args::test::should_produce_help_from_args ... ok
[INFO] [stdout] test args::test::should_produce_input_file_from_args ... ok
[INFO] [stdout] test args::test::should_produce_output_file_from_args ... ok
[INFO] [stdout] test asm::data::test::should_assemble_data_from_string ... ok
[INFO] [stdout] test asm::data::test::should_fail_assemble_data_from_invalid_type ... ok
[INFO] [stdout] test asm::data::test::should_assemble_empty_data ... ok
[INFO] [stdout] test asm::data::test::should_fail_assemble_data_from_overflow_id ... ok
[INFO] [stdout] test asm::data::test::should_assemble_data_from_numbers ... ok
[INFO] [stdout] test asm::data::test::should_assemble_data_from_ids ... ok
[INFO] [stdout] test asm::dir::test::should_preassemble_db ... ok
[INFO] [stdout] test asm::data::test::should_fail_assemble_data_from_overflow_numbers ... ok
[INFO] [stdout] test asm::expr::test::should_asm_expr_to_reg ... ok
[INFO] [stdout] test asm::dir::test::should_preassemble_unknown_direct ... ok
[INFO] [stdout] test asm::expr::test::should_asm_expr_to_areg ... ok
[INFO] [stdout] test asm::full::test::should_assemble_empty_program ... ok
[INFO] [stdout] test asm::expr::test::should_asm_expr_to_raddr ... ok
[INFO] [stdout] test asm::dir::test::should_preassemble_org ... ok
[INFO] [stdout] test asm::expr::test::should_asm_expr_to_addr ... ok
[INFO] [stdout] test asm::expr::test::should_asm_expr_to_immediate ... ok
[INFO] [stdout] test asm::expr::test::should_asm_expr_to_ioport ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_addi ... ok
[INFO] [stdout] test asm::assembler::test::should_assemble ... ok
[INFO] [stdout] test asm::assembler::test::should_write_assembly ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_and ... ok
[INFO] [stdout] test asm::full::test::should_assemble_non_empty ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_add ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_adc ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_ijmp ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_halt ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_ei ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_di ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_asr ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_com ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_inc ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_dec ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_in ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_icall ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_call ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_decw ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_jcc ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_incw ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_jmp ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_jn ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_jnz ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_jcs ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_ld ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_jvs ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_mov ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_ldsp ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_jvc ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_ldw ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_ldd ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_lsr ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_neg ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_jz ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_lsl ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_nop ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_ldi ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_out ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_pop ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_or ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_rjmp ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_jp ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_push ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_ret ... ok
[INFO] [stdout] test asm::inst::len::test::should_calculate_add_len ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_reti ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_st ... ok
[INFO] [stdout] test asm::inst::len::test::should_calculate_adc_len ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_sub ... ok
[INFO] [stdout] test asm::inst::len::test::should_calculate_xor_len ... ok
[INFO] [stdout] test asm::inst::len::test::should_calculate_st_len ... ok
[INFO] [stdout] test asm::inst::len::test::should_calculate_and_len ... ok
[INFO] [stdout] test asm::inst::len::test::should_calculate_sub_len ... ok
[INFO] [stdout] test asm::inst::len::test::should_calculate_ld_len ... ok
[INFO] [stdout] test asm::inst::len::test::should_calculate_mov_len ... ok
[INFO] [stdout] test asm::inst::len::test::should_calculate_or_len ... ok
[INFO] [stdout] test asm::inst::len::test::should_calculate_sbc_len ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_rcall ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_sbc ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_call ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_std ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_asr ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_ei ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_di ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_halt ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_add ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_com ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_icall ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_jmp ... ok
[INFO] [stdout] test asm::inst::pre::test::should_fail_pre_assemble_with_unknown_mnemo ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_and ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_dec ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_ijmp ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_adc ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_xor ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_in ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_jcc ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_jn ... ok
[INFO] [stdout] test asm::inst::full::test::should_asm_subi ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_jcs ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_ldsp ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_jvc ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_jp ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_lsl ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_ldi ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_jvs ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_jz ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_inc ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_jnz ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_ld ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_rjmp ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_out ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_reti ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_sbc ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_ret ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_rcall ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_pop ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_push ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_or ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_neg ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_addr_register ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_colon ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_sub ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_comment ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_comma ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_st ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_lsr ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_xor ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_nop ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_empty ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_directive ... ok
[INFO] [stdout] test asm::inst::pre::test::should_pre_assemble_mov ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_comment_with_eol ... ok
[INFO] [stdout] test asm::lexer::test::should_ignore_blanks ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_eol ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_decimal ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_string_with_scaped_tab ... ok
[INFO] [stdout] test asm::lexer::test::should_compute_line_numbers ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_hexadecimal ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_string_with_scaped_eol ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_ident ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_minus ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_register ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_string_with_eof_ending ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_string_with_eol_ending ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_string ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_string_with_scaped_cr ... ok
[INFO] [stdout] test asm::lexer::test::should_scan_string_with_scaped_slash ... ok
[INFO] [stdout] test asm::parser::test::should_fail_parse_two_consecutive_labels ... ok
[INFO] [stdout] test asm::parser::test::should_parse_binary_mnemo ... ok
[INFO] [stdout] test asm::parser::test::should_parse_nullary_mnemo ... ok
[INFO] [stdout] test asm::parser::test::should_parse_parameterized_directive ... ok
[INFO] [stdout] test asm::parser::test::should_parse_nullary_directive ... ok
[INFO] [stdout] test asm::parser::test::should_parse_unary_mnemo ... ok
[INFO] [stdout] test asm::parser::test::should_parse_labeled_empty ... ok
[INFO] [stdout] test asm::parser::test::should_parse_labeled_directive ... ok
[INFO] [stdout] test asm::pre::test::should_pre_assemble_empty_prog ... ok
[INFO] [stdout] test asm::parser::test::should_parse_empty ... ok
[INFO] [stdout] test asm::parser::test::should_parse_labeled_mnemo ... ok
[INFO] [stdout] test asm::pre::test::should_pre_assemble_declaring_inst_labels ... ok
[INFO] [stdout] test asm::pre::test::should_pre_assemble_dup_inst_label_as_error ... ok
[INFO] [stdout] test asm::pre::test::should_pre_assemble_program ... ok
[INFO] [stdout] test args::test::should_parse_bin ... ok
[INFO] [stdout] test args::test::should_parse_help ... ok
[INFO] [stdout] test asm::number::test::should_convert_to_u8 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 169 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/spm-aa5da1312bd50aaa
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test args::test::should_produce_romfile_from_args ... ok
[INFO] [stdout] test args::test::should_produce_version_from_args ... ok
[INFO] [stdout] test args::test::should_produce_exec_from_args ... ok
[INFO] [stdout] test args::test::should_produce_help_from_args ... ok
[INFO] [stdout] test machine::test::should_exec ... ok
[INFO] [stdout] test machine::test::should_output ... ok
[INFO] [stdout] test args::test::should_parse_exec ... ok
[INFO] [stdout] test args::test::should_parse_help ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests simproc
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "92fd211c3160ab62c1e6584c3c3b0ddfb405c75a2b17539a5e96ecd8bd496fc2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "92fd211c3160ab62c1e6584c3c3b0ddfb405c75a2b17539a5e96ecd8bd496fc2", kill_on_drop: false }`
[INFO] [stdout] 92fd211c3160ab62c1e6584c3c3b0ddfb405c75a2b17539a5e96ecd8bd496fc2
