[INFO] cloning repository https://github.com/zargony/rusty64 [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zargony/rusty64" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzargony%2Frusty64"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzargony%2Frusty64'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 91b9c5edd70a39085000e084cb232828288cbf35 [INFO] checking zargony/rusty64 against try#e4dba30b9b475d8750370c4dfb49b6541990904d for pr-71393 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzargony%2Frusty64" "/workspace/builds/worker-12/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-12/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/zargony/rusty64 on toolchain e4dba30b9b475d8750370c4dfb49b6541990904d [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/zargony/rusty64 [INFO] finished tweaking git repo https://github.com/zargony/rusty64 [INFO] tweaked toml for git repo https://github.com/zargony/rusty64 written to /workspace/builds/worker-12/source/Cargo.toml [INFO] crate git repo https://github.com/zargony/rusty64 already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] error: the lock file /workspace/builds/worker-12/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" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/workspace/cargo-home/bin/cargo" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-12/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" "+e4dba30b9b475d8750370c4dfb49b6541990904d" "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] 5c607152556631cc1e849f9213ec002fcc58a1802baf73e8195660e28c097f04 [INFO] running `"docker" "start" "-a" "5c607152556631cc1e849f9213ec002fcc58a1802baf73e8195660e28c097f04"` [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Checking winapi v0.2.8 [INFO] [stderr] Checking regex-syntax v0.3.9 [INFO] [stderr] Checking utf8-ranges v0.1.3 [INFO] [stderr] Checking bitflags v0.3.3 [INFO] [stderr] Compiling libc v0.2.69 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking memchr v0.1.11 [INFO] [stderr] Checking thread-id v2.0.0 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking thread_local v0.2.7 [INFO] [stderr] Checking aho-corasick v0.5.3 [INFO] [stderr] Checking regex v0.1.80 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking env_logger v0.3.5 [INFO] [stderr] Checking rusty64 v0.0.3 (/opt/rustwide/workdir) [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/cpu/mos6502/mod.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | / bitflags! { [INFO] [stderr] 52 | | /// The MOS6502 status flags [INFO] [stderr] 53 | | flags StatusFlags: u8 { [INFO] [stderr] 54 | | const CarryFlag = 1 << 0, // C [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/cpu/mos6502/mod.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | / bitflags! { [INFO] [stderr] 52 | | /// The MOS6502 status flags [INFO] [stderr] 53 | | flags StatusFlags: u8 { [INFO] [stderr] 54 | | const CarryFlag = 1 << 0, // C [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/mem/addressable.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | try!(write!(str, "{:02X}", self.mem.get(addr))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/mem/addressable.rs:85:40 [INFO] [stderr] | [INFO] [stderr] 85 | if iter.peek().is_some() { try!(write!(str, " ")); } [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> src/mem/addressable.rs:19:26 [INFO] [stderr] | [INFO] [stderr] 19 | let mut val: T = mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/cpu/mos6502/mod.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | / bitflags! { [INFO] [stderr] 52 | | /// The MOS6502 status flags [INFO] [stderr] 53 | | flags StatusFlags: u8 { [INFO] [stderr] 54 | | const CarryFlag = 1 << 0, // C [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/cpu/mos6502/mod.rs:51:1 [INFO] [stderr] | [INFO] [stderr] 51 | / bitflags! { [INFO] [stderr] 52 | | /// The MOS6502 status flags [INFO] [stderr] 53 | | flags StatusFlags: u8 { [INFO] [stderr] 54 | | const CarryFlag = 1 << 0, // C [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/mem/addressable.rs:84:13 [INFO] [stderr] | [INFO] [stderr] 84 | try!(write!(str, "{:02X}", self.mem.get(addr))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead [INFO] [stderr] --> src/mem/addressable.rs:85:40 [INFO] [stderr] | [INFO] [stderr] 85 | if iter.peek().is_some() { try!(write!(str, " ")); } [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead [INFO] [stderr] --> src/mem/addressable.rs:19:26 [INFO] [stderr] | [INFO] [stderr] 19 | let mut val: T = mem::uninitialized(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `offset` found for struct `addr::masked::Masked<{integer}>` in the current scope [INFO] [stderr] --> src/cpu/mos6502/mod.rs:272:43 [INFO] [stderr] | [INFO] [stderr] 272 | let addr = Masked(0x0100, 0xff00).offset(self.sp as i16 + 1); [INFO] [stderr] | ^^^^^^ method not found in `addr::masked::Masked<{integer}>` [INFO] [stderr] | [INFO] [stderr] ::: src/addr/masked.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Masked(pub T, pub T); [INFO] [stderr] | ----------------------------------- [INFO] [stderr] | | [INFO] [stderr] | method `offset` not found for this [INFO] [stderr] | doesn't satisfy `_: addr::address::Address` [INFO] [stderr] | [INFO] [stderr] = note: the method `offset` exists but the following trait bounds were not satisfied: [INFO] [stderr] `{integer}: addr::masked::Maskable` [INFO] [stderr] which is required by `addr::masked::Masked<{integer}>: addr::address::Address` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `offset` found for struct `addr::masked::Masked<{integer}>` in the current scope [INFO] [stderr] --> src/cpu/mos6502/mod.rs:279:43 [INFO] [stderr] | [INFO] [stderr] 279 | let addr = Masked(0x0100, 0xff00).offset(self.sp as i16 + 1); [INFO] [stderr] | ^^^^^^ method not found in `addr::masked::Masked<{integer}>` [INFO] [stderr] | [INFO] [stderr] ::: src/addr/masked.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Masked(pub T, pub T); [INFO] [stderr] | ----------------------------------- [INFO] [stderr] | | [INFO] [stderr] | method `offset` not found for this [INFO] [stderr] | doesn't satisfy `_: addr::address::Address` [INFO] [stderr] | [INFO] [stderr] = note: the method `offset` exists but the following trait bounds were not satisfied: [INFO] [stderr] `{integer}: addr::masked::Maskable` [INFO] [stderr] which is required by `addr::masked::Masked<{integer}>: addr::address::Address` [INFO] [stderr] [INFO] [stderr] error[E0275]: overflow evaluating the requirement `u16: addr::masked::Maskable` [INFO] [stderr] --> src/cpu/mos6502/operand.rs:39:68 [INFO] [stderr] | [INFO] [stderr] 39 | Operand::Indirect(addr) => cpu.mem.get_le(Masked(addr, 0xff00)), // simulating MSB-bug [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `addr::address::Address` for `addr::masked::Masked` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `map` found for struct `addr::masked::Masked<{integer}>` in the current scope [INFO] [stderr] --> src/addr/masked.rs:145:43 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Masked(pub T, pub T); [INFO] [stderr] | ----------------------------------- [INFO] [stderr] | | [INFO] [stderr] | method `map` not found for this [INFO] [stderr] | doesn't satisfy `_: std::iter::Iterator` [INFO] [stderr] ... [INFO] [stderr] 145 | assert_eq!(Masked(0x1234, 0xff00).map(|_| 0), 0x1200); [INFO] [stderr] | ^^^ method not found in `addr::masked::Masked<{integer}>` [INFO] [stderr] | [INFO] [stderr] = note: the method `map` exists but the following trait bounds were not satisfied: [INFO] [stderr] `{integer}: addr::masked::Maskable` [INFO] [stderr] `addr::masked::Masked<{integer}>: std::iter::Iterator` [INFO] [stderr] which is required by `&mut addr::masked::Masked<{integer}>: std::iter::Iterator` [INFO] [stderr] [INFO] [stderr] error[E0600]: cannot apply unary operator `!` to type `addr::masked::Masked` [INFO] [stderr] --> src/addr/masked.rs:159:20 [INFO] [stderr] | [INFO] [stderr] 159 | assert_eq!(!value, 0b1100001111000011); [INFO] [stderr] | ^^^^^^ cannot apply unary operator `!` [INFO] [stderr] | [INFO] [stderr] = note: an implementation of `std::ops::Not` might be missing for `addr::masked::Masked` [INFO] [stderr] [INFO] [stderr] error[E0369]: no implementation for `addr::masked::Masked & {integer}` [INFO] [stderr] --> src/addr/masked.rs:160:27 [INFO] [stderr] | [INFO] [stderr] 160 | assert_eq!( value & 0b1111111100000000, 0b1100110011000000); [INFO] [stderr] | ----- ^ ------------------ {integer} [INFO] [stderr] | | [INFO] [stderr] | addr::masked::Masked [INFO] [stderr] | [INFO] [stderr] = note: an implementation of `std::ops::BitAnd` might be missing for `addr::masked::Masked` [INFO] [stderr] [INFO] [stderr] error[E0369]: no implementation for `addr::masked::Masked | {integer}` [INFO] [stderr] --> src/addr/masked.rs:161:27 [INFO] [stderr] | [INFO] [stderr] 161 | assert_eq!( value | 0b1111111100000000, 0b1100111111001100); [INFO] [stderr] | ----- ^ ------------------ {integer} [INFO] [stderr] | | [INFO] [stderr] | addr::masked::Masked [INFO] [stderr] | [INFO] [stderr] = note: an implementation of `std::ops::BitOr` might be missing for `addr::masked::Masked` [INFO] [stderr] [INFO] [stderr] error[E0369]: no implementation for `addr::masked::Masked ^ {integer}` [INFO] [stderr] --> src/addr/masked.rs:162:27 [INFO] [stderr] | [INFO] [stderr] 162 | assert_eq!( value ^ 0b1111111100000000, 0b1100001111001100); [INFO] [stderr] | ----- ^ ------------------ {integer} [INFO] [stderr] | | [INFO] [stderr] | addr::masked::Masked [INFO] [stderr] | [INFO] [stderr] = note: an implementation of `std::ops::BitXor` might be missing for `addr::masked::Masked` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `offset` found for struct `addr::masked::Masked<{integer}>` in the current scope [INFO] [stderr] --> src/addr/masked.rs:167:43 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Masked(pub T, pub T); [INFO] [stderr] | ----------------------------------- [INFO] [stderr] | | [INFO] [stderr] | method `offset` not found for this [INFO] [stderr] | doesn't satisfy `_: addr::address::Address` [INFO] [stderr] ... [INFO] [stderr] 167 | assert_eq!(Masked(0x12ff, 0x0000).offset(1), 0x1300); [INFO] [stderr] | ^^^^^^ method not found in `addr::masked::Masked<{integer}>` [INFO] [stderr] | [INFO] [stderr] = note: the method `offset` exists but the following trait bounds were not satisfied: [INFO] [stderr] `{integer}: addr::masked::Maskable` [INFO] [stderr] which is required by `addr::masked::Masked<{integer}>: addr::address::Address` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `offset` found for struct `addr::masked::Masked<{integer}>` in the current scope [INFO] [stderr] --> src/addr/masked.rs:168:43 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Masked(pub T, pub T); [INFO] [stderr] | ----------------------------------- [INFO] [stderr] | | [INFO] [stderr] | method `offset` not found for this [INFO] [stderr] | doesn't satisfy `_: addr::address::Address` [INFO] [stderr] ... [INFO] [stderr] 168 | assert_eq!(Masked(0x12ff, 0xff00).offset(1), 0x1200); [INFO] [stderr] | ^^^^^^ method not found in `addr::masked::Masked<{integer}>` [INFO] [stderr] | [INFO] [stderr] = note: the method `offset` exists but the following trait bounds were not satisfied: [INFO] [stderr] `{integer}: addr::masked::Maskable` [INFO] [stderr] which is required by `addr::masked::Masked<{integer}>: addr::address::Address` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `offset` found for struct `addr::masked::Masked<{integer}>` in the current scope [INFO] [stderr] --> src/addr/masked.rs:169:43 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Masked(pub T, pub T); [INFO] [stderr] | ----------------------------------- [INFO] [stderr] | | [INFO] [stderr] | method `offset` not found for this [INFO] [stderr] | doesn't satisfy `_: addr::address::Address` [INFO] [stderr] ... [INFO] [stderr] 169 | assert_eq!(Masked(0x12ff, 0xfff0).offset(1), 0x12f0); [INFO] [stderr] | ^^^^^^ method not found in `addr::masked::Masked<{integer}>` [INFO] [stderr] | [INFO] [stderr] = note: the method `offset` exists but the following trait bounds were not satisfied: [INFO] [stderr] `{integer}: addr::masked::Maskable` [INFO] [stderr] which is required by `addr::masked::Masked<{integer}>: addr::address::Address` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `offset` found for struct `addr::masked::Masked<{integer}>` in the current scope [INFO] [stderr] --> src/addr/masked.rs:170:43 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Masked(pub T, pub T); [INFO] [stderr] | ----------------------------------- [INFO] [stderr] | | [INFO] [stderr] | method `offset` not found for this [INFO] [stderr] | doesn't satisfy `_: addr::address::Address` [INFO] [stderr] ... [INFO] [stderr] 170 | assert_eq!(Masked(0x1300, 0x0000).offset(-1), 0x12ff); [INFO] [stderr] | ^^^^^^ method not found in `addr::masked::Masked<{integer}>` [INFO] [stderr] | [INFO] [stderr] = note: the method `offset` exists but the following trait bounds were not satisfied: [INFO] [stderr] `{integer}: addr::masked::Maskable` [INFO] [stderr] which is required by `addr::masked::Masked<{integer}>: addr::address::Address` [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors; 5 warnings emitted [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0275, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0275`. [INFO] [stderr] error[E0599]: no method named `offset` found for struct `addr::masked::Masked<{integer}>` in the current scope [INFO] [stderr] --> src/addr/masked.rs:171:43 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Masked(pub T, pub T); [INFO] [stderr] | ----------------------------------- [INFO] [stderr] | | [INFO] [stderr] | method `offset` not found for this [INFO] [stderr] | doesn't satisfy `_: addr::address::Address` [INFO] [stderr] ... [INFO] [stderr] 171 | assert_eq!(Masked(0x1300, 0xff00).offset(-1), 0x13ff); [INFO] [stderr] | ^^^^^^ method not found in `addr::masked::Masked<{integer}>` [INFO] [stderr] | [INFO] [stderr] = note: the method `offset` exists but the following trait bounds were not satisfied: [INFO] [stderr] `{integer}: addr::masked::Maskable` [INFO] [stderr] which is required by `addr::masked::Masked<{integer}>: addr::address::Address` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `offset` found for struct `addr::masked::Masked<{integer}>` in the current scope [INFO] [stderr] --> src/addr/masked.rs:172:43 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Masked(pub T, pub T); [INFO] [stderr] | ----------------------------------- [INFO] [stderr] | | [INFO] [stderr] | method `offset` not found for this [INFO] [stderr] | doesn't satisfy `_: addr::address::Address` [INFO] [stderr] ... [INFO] [stderr] 172 | assert_eq!(Masked(0x1300, 0xfff0).offset(-1), 0x130f); [INFO] [stderr] | ^^^^^^ method not found in `addr::masked::Masked<{integer}>` [INFO] [stderr] | [INFO] [stderr] = note: the method `offset` exists but the following trait bounds were not satisfied: [INFO] [stderr] `{integer}: addr::masked::Maskable` [INFO] [stderr] which is required by `addr::masked::Masked<{integer}>: addr::address::Address` [INFO] [stderr] [INFO] [stderr] error: could not compile `rusty64`. [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[E0599]: no method named `offset` found for struct `addr::masked::Masked<{integer}>` in the current scope [INFO] [stderr] --> src/cpu/mos6502/mod.rs:272:43 [INFO] [stderr] | [INFO] [stderr] 272 | let addr = Masked(0x0100, 0xff00).offset(self.sp as i16 + 1); [INFO] [stderr] | ^^^^^^ method not found in `addr::masked::Masked<{integer}>` [INFO] [stderr] | [INFO] [stderr] ::: src/addr/masked.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Masked(pub T, pub T); [INFO] [stderr] | ----------------------------------- [INFO] [stderr] | | [INFO] [stderr] | method `offset` not found for this [INFO] [stderr] | doesn't satisfy `_: addr::address::Address` [INFO] [stderr] | [INFO] [stderr] = note: the method `offset` exists but the following trait bounds were not satisfied: [INFO] [stderr] `{integer}: addr::masked::Maskable` [INFO] [stderr] which is required by `addr::masked::Masked<{integer}>: addr::address::Address` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `offset` found for struct `addr::masked::Masked<{integer}>` in the current scope [INFO] [stderr] --> src/cpu/mos6502/mod.rs:279:43 [INFO] [stderr] | [INFO] [stderr] 279 | let addr = Masked(0x0100, 0xff00).offset(self.sp as i16 + 1); [INFO] [stderr] | ^^^^^^ method not found in `addr::masked::Masked<{integer}>` [INFO] [stderr] | [INFO] [stderr] ::: src/addr/masked.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub struct Masked(pub T, pub T); [INFO] [stderr] | ----------------------------------- [INFO] [stderr] | | [INFO] [stderr] | method `offset` not found for this [INFO] [stderr] | doesn't satisfy `_: addr::address::Address` [INFO] [stderr] | [INFO] [stderr] = note: the method `offset` exists but the following trait bounds were not satisfied: [INFO] [stderr] `{integer}: addr::masked::Maskable` [INFO] [stderr] which is required by `addr::masked::Masked<{integer}>: addr::address::Address` [INFO] [stderr] [INFO] [stderr] error[E0275]: overflow evaluating the requirement `u16: addr::masked::Maskable` [INFO] [stderr] --> src/cpu/mos6502/operand.rs:39:68 [INFO] [stderr] | [INFO] [stderr] 39 | Operand::Indirect(addr) => cpu.mem.get_le(Masked(addr, 0xff00)), // simulating MSB-bug [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: required because of the requirements on the impl of `addr::address::Address` for `addr::masked::Masked` [INFO] [stderr] [INFO] [stderr] error: aborting due to 14 previous errors; 5 warnings emitted [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0275, E0369, E0599, E0600. [INFO] [stderr] For more information about an error, try `rustc --explain E0275`. [INFO] [stderr] error: could not compile `rusty64`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "5c607152556631cc1e849f9213ec002fcc58a1802baf73e8195660e28c097f04"` [INFO] running `"docker" "rm" "-f" "5c607152556631cc1e849f9213ec002fcc58a1802baf73e8195660e28c097f04"` [INFO] [stdout] 5c607152556631cc1e849f9213ec002fcc58a1802baf73e8195660e28c097f04