[INFO] updating cached repository https://github.com/araneavalon/cpu-emulator
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] 80bab73fa7173f8df42c42db8de0e8f4ff918069
[INFO] checking araneavalon/cpu-emulator against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faraneavalon%2Fcpu-emulator" "/workspace/builds/worker-2/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/araneavalon/cpu-emulator on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/araneavalon/cpu-emulator
[INFO] removed path dependency assembler from git repo https://github.com/araneavalon/cpu-emulator
[INFO] finished tweaking git repo https://github.com/araneavalon/cpu-emulator
[INFO] tweaked toml for git repo https://github.com/araneavalon/cpu-emulator written to /workspace/builds/worker-2/source/Cargo.toml
[INFO] crate git repo https://github.com/araneavalon/cpu-emulator already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (assembler) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr] error: the lock file /workspace/builds/worker-2/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr] warning: dependency (assembler) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 916a8229269cc9250ac57ee4136ae265fe69385871ba6ac168b7265a9f15ddfd
[INFO] running `"docker" "start" "-a" "916a8229269cc9250ac57ee4136ae265fe69385871ba6ac168b7265a9f15ddfd"`
[INFO] [stderr] warning: dependency (assembler) specified without providing a local path, Git repository, or version to use. This will be considered an error in future versions
[INFO] [stderr]     Checking likely v0.1.0
[INFO] [stderr]     Checking assembler v0.10.1
[INFO] [stderr]     Checking cpu v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr] error[E0425]: cannot find function `from_file` in crate `assembler`
[INFO] [stderr]    --> src/main.rs:133:26
[INFO] [stderr]     |
[INFO] [stderr] 133 |         match assembler::from_file(filename) {
[INFO] [stderr]     |                          ^^^^^^^^^ not found in `assembler`
[INFO] [stderr] 
[INFO] [stderr] error[E0603]: trait `Error` is private
[INFO] [stderr]   --> src/error.rs:29:32
[INFO] [stderr]    |
[INFO] [stderr] 29 |   Assembler(String, assembler::Error),
[INFO] [stderr]    |                                ^^^^^ private trait
[INFO] [stderr]    |
[INFO] [stderr] note: the trait `Error` is defined here
[INFO] [stderr]   --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/assembler-0.10.1/src/lib.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 74 | use ::std::error::Error;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/error.rs:29:21
[INFO] [stderr]    |
[INFO] [stderr] 29 |   Assembler(String, assembler::Error),
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn assembler::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/io/screen.rs:139:14
[INFO] [stderr]     |
[INFO] [stderr] 139 |       0xC000 ... 0xDDFF |
[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/io/screen.rs:140:14
[INFO] [stderr]     |
[INFO] [stderr] 140 |       0xDE00 ... 0xDE03 => true,
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/io/screen.rs:147:14
[INFO] [stderr]     |
[INFO] [stderr] 147 |       0xC000 ... 0xDDFF => Ok(self.data[(address as usize) - RAM_OFFSET]),
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/io/screen.rs:158:14
[INFO] [stderr]     |
[INFO] [stderr] 158 |       0xC000 ... 0xDDFF => self.data[(address as usize) - RAM_OFFSET] = value,
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find function `from_file` in crate `assembler`
[INFO] [stderr]    --> src/main.rs:133:26
[INFO] [stderr]     |
[INFO] [stderr] 133 |         match assembler::from_file(filename) {
[INFO] [stderr]     |                          ^^^^^^^^^ not found in `assembler`
[INFO] [stderr] 
[INFO] [stderr] error[E0603]: trait `Error` is private
[INFO] [stderr]   --> src/error.rs:29:32
[INFO] [stderr]    |
[INFO] [stderr] 29 |   Assembler(String, assembler::Error),
[INFO] [stderr]    |                                ^^^^^ private trait
[INFO] [stderr]    |
[INFO] [stderr] note: the trait `Error` is defined here
[INFO] [stderr]   --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/assembler-0.10.1/src/lib.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 74 | use ::std::error::Error;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/error.rs:29:21
[INFO] [stderr]    |
[INFO] [stderr] 29 |   Assembler(String, assembler::Error),
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn assembler::Error`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/io/screen.rs:139:14
[INFO] [stderr]     |
[INFO] [stderr] 139 |       0xC000 ... 0xDDFF |
[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/io/screen.rs:140:14
[INFO] [stderr]     |
[INFO] [stderr] 140 |       0xDE00 ... 0xDE03 => true,
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/io/screen.rs:147:14
[INFO] [stderr]     |
[INFO] [stderr] 147 |       0xC000 ... 0xDDFF => Ok(self.data[(address as usize) - RAM_OFFSET]),
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/io/screen.rs:158:14
[INFO] [stderr]     |
[INFO] [stderr] 158 |       0xC000 ... 0xDDFF => self.data[(address as usize) - RAM_OFFSET] = value,
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/error.rs:82:6
[INFO] [stderr]    |
[INFO] [stderr] 82 | impl From<std::num::ParseFloatError> for Error {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/error.rs:82:6
[INFO] [stderr]    |
[INFO] [stderr] 82 | impl From<std::num::ParseFloatError> for Error {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/error.rs:88:6
[INFO] [stderr]    |
[INFO] [stderr] 88 | impl From<sdl2::video::WindowBuildError> for Error {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/error.rs:88:6
[INFO] [stderr]    |
[INFO] [stderr] 88 | impl From<sdl2::video::WindowBuildError> for Error {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/error.rs:94:6
[INFO] [stderr]    |
[INFO] [stderr] 94 | impl From<sdl2::IntegerOrSdlError> for Error {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/error.rs:94:6
[INFO] [stderr]    |
[INFO] [stderr] 94 | impl From<sdl2::IntegerOrSdlError> for Error {
[INFO] [stderr]    |      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/error.rs:100:6
[INFO] [stderr]     |
[INFO] [stderr] 100 | impl From<Error> for fmt::Error {
[INFO] [stderr]     |      ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/error.rs:100:6
[INFO] [stderr]     |
[INFO] [stderr] 100 | impl From<Error> for fmt::Error {
[INFO] [stderr]     |      ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/main.rs:62:26
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn run(cpu: &mut Cpu) -> Result<()> {
[INFO] [stderr]    |                          ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/main.rs:62:26
[INFO] [stderr]    |
[INFO] [stderr] 62 | fn run(cpu: &mut Cpu) -> Result<()> {
[INFO] [stderr]    |                          ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/main.rs:109:14
[INFO] [stderr]     |
[INFO] [stderr] 109 | fn init() -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/error.rs:29:21
[INFO] [stderr]    |
[INFO] [stderr] 29 |   Assembler(String, assembler::Error),
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: no field of an enum variant may have a dynamically sized type
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/main.rs:109:14
[INFO] [stderr]     |
[INFO] [stderr] 109 | fn init() -> Result<()> {
[INFO] [stderr]     |              ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/error.rs:29:21
[INFO] [stderr]    |
[INFO] [stderr] 29 |   Assembler(String, assembler::Error),
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: no field of an enum variant may have a dynamically sized type
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/mod.rs:27:37
[INFO] [stderr]    |
[INFO] [stderr] 27 |   fn load(&mut self, value: u16) -> Result<()>;
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/mod.rs:28:21
[INFO] [stderr]    |
[INFO] [stderr] 28 |   fn data(&self) -> Result<Option<u16>> { Ok(None) }
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/mod.rs:29:24
[INFO] [stderr]    |
[INFO] [stderr] 29 |   fn address(&self) -> Result<Option<u16>> { Ok(None) }
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]  --> src/memory/addressable.rs:8:35
[INFO] [stderr]   |
[INFO] [stderr] 8 |   fn read(&self, address: u16) -> Result<u16>;
[INFO] [stderr]   |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]   |
[INFO] [stderr]   = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]   = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]   = note: required because it appears within the type `error::Error`
[INFO] [stderr]   = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]  --> src/memory/addressable.rs:9:35
[INFO] [stderr]   |
[INFO] [stderr] 9 |   fn peek(&self, address: u16) -> Result<u16> { self.read(address) }
[INFO] [stderr]   |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]   |
[INFO] [stderr]   = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]   = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]   = note: required because it appears within the type `error::Error`
[INFO] [stderr]   = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/mod.rs:27:37
[INFO] [stderr]    |
[INFO] [stderr] 27 |   fn load(&mut self, value: u16) -> Result<()>;
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/addressable.rs:10:52
[INFO] [stderr]    |
[INFO] [stderr] 10 |   fn write(&mut self, address: u16, value: u16) -> Result<()>;
[INFO] [stderr]    |                                                    ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/mod.rs:28:21
[INFO] [stderr]    |
[INFO] [stderr] 28 |   fn data(&self) -> Result<Option<u16>> { Ok(None) }
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/address_register.rs:51:37
[INFO] [stderr]    |
[INFO] [stderr] 51 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/mod.rs:29:24
[INFO] [stderr]    |
[INFO] [stderr] 29 |   fn address(&self) -> Result<Option<u16>> { Ok(None) }
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/address_register.rs:58:24
[INFO] [stderr]    |
[INFO] [stderr] 58 |   fn address(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]  --> src/memory/addressable.rs:8:35
[INFO] [stderr]   |
[INFO] [stderr] 8 |   fn read(&self, address: u16) -> Result<u16>;
[INFO] [stderr]   |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]   |
[INFO] [stderr]   = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]   = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]   = note: required because it appears within the type `error::Error`
[INFO] [stderr]   = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]  --> src/memory/addressable.rs:9:35
[INFO] [stderr]   |
[INFO] [stderr] 9 |   fn peek(&self, address: u16) -> Result<u16> { self.read(address) }
[INFO] [stderr]   |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]   |
[INFO] [stderr]   = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]   = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]   = note: required because it appears within the type `error::Error`
[INFO] [stderr]   = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/components/alu.rs:117:37
[INFO] [stderr]     |
[INFO] [stderr] 117 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]     |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/components/alu.rs:126:21
[INFO] [stderr]     |
[INFO] [stderr] 126 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/addressable.rs:10:52
[INFO] [stderr]    |
[INFO] [stderr] 10 |   fn write(&mut self, address: u16, value: u16) -> Result<()>;
[INFO] [stderr]    |                                                    ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/components/flags.rs:110:37
[INFO] [stderr]     |
[INFO] [stderr] 110 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]     |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/address_register.rs:51:37
[INFO] [stderr]    |
[INFO] [stderr] 51 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/components/flags.rs:119:21
[INFO] [stderr]     |
[INFO] [stderr] 119 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/address_register.rs:58:24
[INFO] [stderr]    |
[INFO] [stderr] 58 |   fn address(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/instruction_register.rs:62:37
[INFO] [stderr]    |
[INFO] [stderr] 62 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/components/alu.rs:117:37
[INFO] [stderr]     |
[INFO] [stderr] 117 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]     |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/instruction_register.rs:69:21
[INFO] [stderr]    |
[INFO] [stderr] 69 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/components/alu.rs:126:21
[INFO] [stderr]     |
[INFO] [stderr] 126 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/link_register.rs:62:37
[INFO] [stderr]    |
[INFO] [stderr] 62 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/components/flags.rs:110:37
[INFO] [stderr]     |
[INFO] [stderr] 110 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]     |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/link_register.rs:69:21
[INFO] [stderr]    |
[INFO] [stderr] 69 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/program_counter.rs:66:37
[INFO] [stderr]    |
[INFO] [stderr] 66 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/program_counter.rs:73:21
[INFO] [stderr]    |
[INFO] [stderr] 73 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/components/flags.rs:119:21
[INFO] [stderr]     |
[INFO] [stderr] 119 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/program_counter.rs:81:24
[INFO] [stderr]    |
[INFO] [stderr] 81 |   fn address(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/instruction_register.rs:62:37
[INFO] [stderr]    |
[INFO] [stderr] 62 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/register_file.rs:70:37
[INFO] [stderr]    |
[INFO] [stderr] 70 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/instruction_register.rs:69:21
[INFO] [stderr]    |
[INFO] [stderr] 69 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/register_file.rs:78:21
[INFO] [stderr]    |
[INFO] [stderr] 78 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/link_register.rs:62:37
[INFO] [stderr]    |
[INFO] [stderr] 62 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/stack_pointers.rs:80:37
[INFO] [stderr]    |
[INFO] [stderr] 80 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/link_register.rs:69:21
[INFO] [stderr]    |
[INFO] [stderr] 69 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/stack_pointers.rs:89:21
[INFO] [stderr]    |
[INFO] [stderr] 89 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/stack_pointers.rs:98:24
[INFO] [stderr]    |
[INFO] [stderr] 98 |   fn address(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/ram.rs:29:35
[INFO] [stderr]    |
[INFO] [stderr] 29 |   fn read(&self, address: u16) -> Result<u16> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/ram.rs:33:52
[INFO] [stderr]    |
[INFO] [stderr] 33 |   fn write(&mut self, address: u16, value: u16) -> Result<()> {
[INFO] [stderr]    |                                                    ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/program_counter.rs:66:37
[INFO] [stderr]    |
[INFO] [stderr] 66 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/rom.rs:36:35
[INFO] [stderr]    |
[INFO] [stderr] 36 |   fn read(&self, address: u16) -> Result<u16> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/program_counter.rs:73:21
[INFO] [stderr]    |
[INFO] [stderr] 73 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/rom.rs:40:48
[INFO] [stderr]    |
[INFO] [stderr] 40 |   fn write(&mut self, address: u16, _: u16) -> Result<()> {
[INFO] [stderr]    |                                                ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/program_counter.rs:81:24
[INFO] [stderr]    |
[INFO] [stderr] 81 |   fn address(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/mod.rs:84:27
[INFO] [stderr]    |
[INFO] [stderr] 84 |   pub fn screen(&self) -> Result<&Screen> {
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/register_file.rs:70:37
[INFO] [stderr]    |
[INFO] [stderr] 70 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/mod.rs:88:33
[INFO] [stderr]    |
[INFO] [stderr] 88 |   pub fn keyboard(&mut self) -> Result<&mut Keyboard> {
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/register_file.rs:78:21
[INFO] [stderr]    |
[INFO] [stderr] 78 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/mod.rs:92:40
[INFO] [stderr]    |
[INFO] [stderr] 92 |   fn component(&self, address: u16) -> Result<&dyn Addressable> {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/memory/mod.rs:104:48
[INFO] [stderr]     |
[INFO] [stderr] 104 |   fn component_mut(&mut self, address: u16) -> Result<&mut dyn Addressable> {
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/memory/mod.rs:126:37
[INFO] [stderr]     |
[INFO] [stderr] 126 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]     |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/stack_pointers.rs:80:37
[INFO] [stderr]    |
[INFO] [stderr] 80 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]    |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/memory/mod.rs:135:21
[INFO] [stderr]     |
[INFO] [stderr] 135 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/stack_pointers.rs:89:21
[INFO] [stderr]    |
[INFO] [stderr] 89 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/components/stack_pointers.rs:98:24
[INFO] [stderr]    |
[INFO] [stderr] 98 |   fn address(&self) -> Result<Option<u16>> {
[INFO] [stderr]    |                        ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/keyboard.rs:167:35
[INFO] [stderr]     |
[INFO] [stderr] 167 |   fn read(&self, address: u16) -> Result<u16> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/ram.rs:29:35
[INFO] [stderr]    |
[INFO] [stderr] 29 |   fn read(&self, address: u16) -> Result<u16> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/keyboard.rs:175:35
[INFO] [stderr]     |
[INFO] [stderr] 175 |   fn peek(&self, address: u16) -> Result<u16> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/keyboard.rs:183:52
[INFO] [stderr]     |
[INFO] [stderr] 183 |   fn write(&mut self, address: u16, value: u16) -> Result<()> {
[INFO] [stderr]     |                                                    ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/screen.rs:108:103
[INFO] [stderr]     |
[INFO] [stderr] 108 |   pub fn draw<T: sdl2::render::RenderTarget>(&self, canvas: &mut Canvas<T>, _bg: Color, fg: Color) -> Result<()> {
[INFO] [stderr]     |                                                                                                       ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/screen.rs:145:35
[INFO] [stderr]     |
[INFO] [stderr] 145 |   fn read(&self, address: u16) -> Result<u16> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/ram.rs:33:52
[INFO] [stderr]    |
[INFO] [stderr] 33 |   fn write(&mut self, address: u16, value: u16) -> Result<()> {
[INFO] [stderr]    |                                                    ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/screen.rs:156:52
[INFO] [stderr]     |
[INFO] [stderr] 156 |   fn write(&mut self, address: u16, value: u16) -> Result<()> {
[INFO] [stderr]     |                                                    ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/io/mod.rs:42:27
[INFO] [stderr]    |
[INFO] [stderr] 42 |   pub fn screen(&self) -> Result<&Screen> {
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/rom.rs:36:35
[INFO] [stderr]    |
[INFO] [stderr] 36 |   fn read(&self, address: u16) -> Result<u16> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/io/mod.rs:46:33
[INFO] [stderr]    |
[INFO] [stderr] 46 |   pub fn keyboard(&mut self) -> Result<&mut Keyboard> {
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/rom.rs:40:48
[INFO] [stderr]    |
[INFO] [stderr] 40 |   fn write(&mut self, address: u16, _: u16) -> Result<()> {
[INFO] [stderr]    |                                                ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/io/mod.rs:60:35
[INFO] [stderr]    |
[INFO] [stderr] 60 |   fn read(&self, address: u16) -> Result<u16> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/mod.rs:84:27
[INFO] [stderr]    |
[INFO] [stderr] 84 |   pub fn screen(&self) -> Result<&Screen> {
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/mod.rs:88:33
[INFO] [stderr]    |
[INFO] [stderr] 88 |   pub fn keyboard(&mut self) -> Result<&mut Keyboard> {
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/io/mod.rs:70:35
[INFO] [stderr]    |
[INFO] [stderr] 70 |   fn peek(&self, address: u16) -> Result<u16> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/io/mod.rs:80:52
[INFO] [stderr]    |
[INFO] [stderr] 80 |   fn write(&mut self, address: u16, value: u16) -> Result<()> {
[INFO] [stderr]    |                                                    ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/memory/mod.rs:92:40
[INFO] [stderr]    |
[INFO] [stderr] 92 |   fn component(&self, address: u16) -> Result<&dyn Addressable> {
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/control/microcode.rs:69:58
[INFO] [stderr]    |
[INFO] [stderr] 69 |   fn decode(&self, op: u16, d: bool, c: &mut Control) -> Result<()> {
[INFO] [stderr]    |                                                          ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/memory/mod.rs:104:48
[INFO] [stderr]     |
[INFO] [stderr] 104 |   fn component_mut(&mut self, address: u16) -> Result<&mut dyn Addressable> {
[INFO] [stderr]     |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/microcode.rs:149:46
[INFO] [stderr]     |
[INFO] [stderr] 149 |   fn parse_register(op: u16, offset: u16) -> Result<control::Register> {
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/memory/mod.rs:126:37
[INFO] [stderr]     |
[INFO] [stderr] 126 |   fn load(&mut self, value: u16) -> Result<()> {
[INFO] [stderr]     |                                     ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/microcode.rs:197:49
[INFO] [stderr]     |
[INFO] [stderr] 197 |   fn decode(&self, op: u16, c: &mut Control) -> Result<()> {
[INFO] [stderr]     |                                                 ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/memory/mod.rs:135:21
[INFO] [stderr]     |
[INFO] [stderr] 135 |   fn data(&self) -> Result<Option<u16>> {
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/microcode.rs:224:49
[INFO] [stderr]     |
[INFO] [stderr] 224 |   fn decode_binary(op: u16, c: &mut Control) -> Result<()> {
[INFO] [stderr]     |                                                 ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/keyboard.rs:167:35
[INFO] [stderr]     |
[INFO] [stderr] 167 |   fn read(&self, address: u16) -> Result<u16> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/microcode.rs:265:48
[INFO] [stderr]     |
[INFO] [stderr] 265 |   fn decode_unary(op: u16, c: &mut Control) -> Result<()> {
[INFO] [stderr]     |                                                ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/keyboard.rs:175:35
[INFO] [stderr]     |
[INFO] [stderr] 175 |   fn peek(&self, address: u16) -> Result<u16> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/microcode.rs:336:65
[INFO] [stderr]     |
[INFO] [stderr] 336 |   pub fn decode(&self, op: u16, branch: Option<(bool, u16)>) -> Result<Control> {
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/keyboard.rs:183:52
[INFO] [stderr]     |
[INFO] [stderr] 183 |   fn write(&mut self, address: u16, value: u16) -> Result<()> {
[INFO] [stderr]     |                                                    ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/control/instructions.rs:87:64
[INFO] [stderr]    |
[INFO] [stderr] 87 |   pub fn decode(&self, microcode: &MicrocodeArray, op: u16) -> Result<Iter> {
[INFO] [stderr]    |                                                                ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/screen.rs:108:103
[INFO] [stderr]     |
[INFO] [stderr] 108 |   pub fn draw<T: sdl2::render::RenderTarget>(&self, canvas: &mut Canvas<T>, _bg: Color, fg: Color) -> Result<()> {
[INFO] [stderr]     |                                                                                                       ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:107:64
[INFO] [stderr]     |
[INFO] [stderr] 107 |   pub fn decode(&self, microcode: &MicrocodeArray, op: u16) -> Result<Iter> {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:151:64
[INFO] [stderr]     |
[INFO] [stderr] 151 |   pub fn decode(&self, microcode: &MicrocodeArray, op: u16) -> Result<Iter> {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/screen.rs:145:35
[INFO] [stderr]     |
[INFO] [stderr] 145 |   fn read(&self, address: u16) -> Result<u16> {
[INFO] [stderr]     |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:176:64
[INFO] [stderr]     |
[INFO] [stderr] 176 |   pub fn decode(&self, microcode: &MicrocodeArray, op: u16) -> Result<Iter> {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/io/screen.rs:156:52
[INFO] [stderr]     |
[INFO] [stderr] 156 |   fn write(&mut self, address: u16, value: u16) -> Result<()> {
[INFO] [stderr]     |                                                    ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:230:45
[INFO] [stderr]     |
[INFO] [stderr] 230 |   pub fn new(microcode: &MicrocodeArray) -> Result<Instructions> {
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/io/mod.rs:42:27
[INFO] [stderr]    |
[INFO] [stderr] 42 |   pub fn screen(&self) -> Result<&Screen> {
[INFO] [stderr]    |                           ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:238:47
[INFO] [stderr]     |
[INFO] [stderr] 238 |   fn init_iter(microcode: &MicrocodeArray) -> Result<Iter> {
[INFO] [stderr]     |                                               ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/io/mod.rs:46:33
[INFO] [stderr]    |
[INFO] [stderr] 46 |   pub fn keyboard(&mut self) -> Result<&mut Keyboard> {
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:304:74
[INFO] [stderr]     |
[INFO] [stderr] 304 |   pub fn interrupt(&self, microcode: &MicrocodeArray, interrupt: u16) -> Result<(u16, Iter)> {
[INFO] [stderr]     |                                                                          ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/io/mod.rs:60:35
[INFO] [stderr]    |
[INFO] [stderr] 60 |   fn read(&self, address: u16) -> Result<u16> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:309:64
[INFO] [stderr]     |
[INFO] [stderr] 309 |   pub fn decode(&self, microcode: &MicrocodeArray, op: u16) -> Result<Iter> {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/io/mod.rs:70:35
[INFO] [stderr]    |
[INFO] [stderr] 70 |   fn peek(&self, address: u16) -> Result<u16> {
[INFO] [stderr]    |                                   ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/control/mod.rs:37:19
[INFO] [stderr]    |
[INFO] [stderr] 37 |   pub fn new() -> Result<ControlLogic> {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/io/mod.rs:80:52
[INFO] [stderr]    |
[INFO] [stderr] 80 |   fn write(&mut self, address: u16, value: u16) -> Result<()> {
[INFO] [stderr]    |                                                    ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/control/mod.rs:50:50
[INFO] [stderr]    |
[INFO] [stderr] 50 |   pub fn interrupt(&mut self, interrupt: u16) -> Result<()> {
[INFO] [stderr]    |                                                  ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/control/microcode.rs:69:58
[INFO] [stderr]    |
[INFO] [stderr] 69 |   fn decode(&self, op: u16, d: bool, c: &mut Control) -> Result<()> {
[INFO] [stderr]    |                                                          ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/control/mod.rs:59:85
[INFO] [stderr]    |
[INFO] [stderr] 59 |   pub fn decode(&mut self, op: u16, flags: &Flags, ir: &mut InstructionRegister) -> Result<Control> {
[INFO] [stderr]    |                                                                                     ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/microcode.rs:149:46
[INFO] [stderr]     |
[INFO] [stderr] 149 |   fn parse_register(op: u16, offset: u16) -> Result<control::Register> {
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/cpu.rs:52:41
[INFO] [stderr]    |
[INFO] [stderr] 52 |   pub fn new(hz: f64, rom: Vec<u16>) -> Result<Cpu> {
[INFO] [stderr]    |                                         ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/microcode.rs:197:49
[INFO] [stderr]     |
[INFO] [stderr] 197 |   fn decode(&self, op: u16, c: &mut Control) -> Result<()> {
[INFO] [stderr]     |                                                 ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/cpu.rs:94:45
[INFO] [stderr]    |
[INFO] [stderr] 94 |   fn load(&mut self, value: Option<u16>) -> Result<()> {
[INFO] [stderr]    |                                             ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/microcode.rs:224:49
[INFO] [stderr]     |
[INFO] [stderr] 224 |   fn decode_binary(op: u16, c: &mut Control) -> Result<()> {
[INFO] [stderr]     |                                                 ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:103:25
[INFO] [stderr]     |
[INFO] [stderr] 103 |   fn data(&mut self) -> Result<Option<u16>> {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/microcode.rs:265:48
[INFO] [stderr]     |
[INFO] [stderr] 265 |   fn decode_unary(op: u16, c: &mut Control) -> Result<()> {
[INFO] [stderr]     |                                                ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:121:24
[INFO] [stderr]     |
[INFO] [stderr] 121 |   fn address(&self) -> Result<u16> {
[INFO] [stderr]     |                        ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/microcode.rs:336:65
[INFO] [stderr]     |
[INFO] [stderr] 336 |   pub fn decode(&self, op: u16, branch: Option<(bool, u16)>) -> Result<Control> {
[INFO] [stderr]     |                                                                 ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:136:31
[INFO] [stderr]     |
[INFO] [stderr] 136 |   fn half_cycle(&mut self) -> Result<()> {
[INFO] [stderr]     |                               ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:144:26
[INFO] [stderr]     |
[INFO] [stderr] 144 |   fn cycle(&mut self) -> Result<()> {
[INFO] [stderr]     |                          ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/control/instructions.rs:87:64
[INFO] [stderr]    |
[INFO] [stderr] 87 |   pub fn decode(&self, microcode: &MicrocodeArray, op: u16) -> Result<Iter> {
[INFO] [stderr]    |                                                                ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:107:64
[INFO] [stderr]     |
[INFO] [stderr] 107 |   pub fn decode(&self, microcode: &MicrocodeArray, op: u16) -> Result<Iter> {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:155:41
[INFO] [stderr]     |
[INFO] [stderr] 155 |   pub fn run(&mut self, cycles: u32) -> Result<()> {
[INFO] [stderr]     |                                         ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:181:27
[INFO] [stderr]     |
[INFO] [stderr] 181 |   pub fn screen(&self) -> Result<&Screen> {
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:151:64
[INFO] [stderr]     |
[INFO] [stderr] 151 |   pub fn decode(&self, microcode: &MicrocodeArray, op: u16) -> Result<Iter> {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:185:33
[INFO] [stderr]     |
[INFO] [stderr] 185 |   pub fn keyboard(&mut self) -> Result<&mut Keyboard> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:176:64
[INFO] [stderr]     |
[INFO] [stderr] 176 |   pub fn decode(&self, microcode: &MicrocodeArray, op: u16) -> Result<Iter> {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:189:50
[INFO] [stderr]     |
[INFO] [stderr] 189 |   pub fn interrupt(&mut self, interrupt: u16) -> Result<()> {
[INFO] [stderr]     |                                                  ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:230:45
[INFO] [stderr]     |
[INFO] [stderr] 230 |   pub fn new(microcode: &MicrocodeArray) -> Result<Instructions> {
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:238:47
[INFO] [stderr]     |
[INFO] [stderr] 238 |   fn init_iter(microcode: &MicrocodeArray) -> Result<Iter> {
[INFO] [stderr]     |                                               ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:304:74
[INFO] [stderr]     |
[INFO] [stderr] 304 |   pub fn interrupt(&self, microcode: &MicrocodeArray, interrupt: u16) -> Result<(u16, Iter)> {
[INFO] [stderr]     |                                                                          ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/control/instructions.rs:309:64
[INFO] [stderr]     |
[INFO] [stderr] 309 |   pub fn decode(&self, microcode: &MicrocodeArray, op: u16) -> Result<Iter> {
[INFO] [stderr]     |                                                                ^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/control/mod.rs:37:19
[INFO] [stderr]    |
[INFO] [stderr] 37 |   pub fn new() -> Result<ControlLogic> {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 81 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0425, E0603.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/control/mod.rs:50:50
[INFO] [stderr]    |
[INFO] [stderr] 50 |   pub fn interrupt(&mut self, interrupt: u16) -> Result<()> {
[INFO] [stderr]    |                                                  ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/control/mod.rs:59:85
[INFO] [stderr]    |
[INFO] [stderr] 59 |   pub fn decode(&mut self, op: u16, flags: &Flags, ir: &mut InstructionRegister) -> Result<Control> {
[INFO] [stderr]    |                                                                                     ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/cpu.rs:52:41
[INFO] [stderr]    |
[INFO] [stderr] 52 |   pub fn new(hz: f64, rom: Vec<u16>) -> Result<Cpu> {
[INFO] [stderr]    |                                         ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]   --> src/cpu.rs:94:45
[INFO] [stderr]    |
[INFO] [stderr] 94 |   fn load(&mut self, value: Option<u16>) -> Result<()> {
[INFO] [stderr]    |                                             ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]    |
[INFO] [stderr]    = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]    = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]    = note: required because it appears within the type `error::Error`
[INFO] [stderr]    = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `cpu`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:103:25
[INFO] [stderr]     |
[INFO] [stderr] 103 |   fn data(&mut self) -> Result<Option<u16>> {
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:121:24
[INFO] [stderr]     |
[INFO] [stderr] 121 |   fn address(&self) -> Result<u16> {
[INFO] [stderr]     |                        ^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:136:31
[INFO] [stderr]     |
[INFO] [stderr] 136 |   fn half_cycle(&mut self) -> Result<()> {
[INFO] [stderr]     |                               ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:144:26
[INFO] [stderr]     |
[INFO] [stderr] 144 |   fn cycle(&mut self) -> Result<()> {
[INFO] [stderr]     |                          ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:155:41
[INFO] [stderr]     |
[INFO] [stderr] 155 |   pub fn run(&mut self, cycles: u32) -> Result<()> {
[INFO] [stderr]     |                                         ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:181:27
[INFO] [stderr]     |
[INFO] [stderr] 181 |   pub fn screen(&self) -> Result<&Screen> {
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:185:33
[INFO] [stderr]     |
[INFO] [stderr] 185 |   pub fn keyboard(&mut self) -> Result<&mut Keyboard> {
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: the size for values of type `(dyn std::error::Error + 'static)` cannot be known at compilation time
[INFO] [stderr]    --> src/cpu.rs:189:50
[INFO] [stderr]     |
[INFO] [stderr] 189 |   pub fn interrupt(&mut self, interrupt: u16) -> Result<()> {
[INFO] [stderr]     |                                                  ^^^^^^^^^^ doesn't have a size known at compile-time
[INFO] [stderr]     |
[INFO] [stderr]     = help: within `error::Error`, the trait `std::marker::Sized` is not implemented for `(dyn std::error::Error + 'static)`
[INFO] [stderr]     = note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>
[INFO] [stderr]     = note: required because it appears within the type `error::Error`
[INFO] [stderr]     = note: required by `std::result::Result`
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 81 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0425, E0603.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `cpu`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "916a8229269cc9250ac57ee4136ae265fe69385871ba6ac168b7265a9f15ddfd"`
[INFO] running `"docker" "rm" "-f" "916a8229269cc9250ac57ee4136ae265fe69385871ba6ac168b7265a9f15ddfd"`
[INFO] [stdout] 916a8229269cc9250ac57ee4136ae265fe69385871ba6ac168b7265a9f15ddfd
