[INFO] fetching crate m68000 0.2.3...
[INFO] testing m68000-0.2.3 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate m68000 0.2.3 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate m68000 0.2.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate m68000 0.2.3
[INFO] tweaked toml for crates.io crate m68000 0.2.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate m68000 0.2.3 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate m68000 0.2.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b437c6a75c84d33da4449a99e12a244f5e4ef9db2ddca2128a9c80f296215620
[INFO] running `Command { std: "docker" "start" "-a" "b437c6a75c84d33da4449a99e12a244f5e4ef9db2ddca2128a9c80f296215620", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b437c6a75c84d33da4449a99e12a244f5e4ef9db2ddca2128a9c80f296215620", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b437c6a75c84d33da4449a99e12a244f5e4ef9db2ddca2128a9c80f296215620", kill_on_drop: false }`
[INFO] [stdout] b437c6a75c84d33da4449a99e12a244f5e4ef9db2ddca2128a9c80f296215620
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 98fc942ac75ed1746771da8c5f168d43e3be32bf8f8f6b569287d181f670b2c4
[INFO] running `Command { std: "docker" "start" "-a" "98fc942ac75ed1746771da8c5f168d43e3be32bf8f8f6b569287d181f670b2c4", kill_on_drop: false }`
[INFO] [stderr]    Compiling m68000 v0.2.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/memory_access.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn iter_u16(&mut self, addr: u32) -> MemoryIter<Self> {
[INFO] [stdout]    |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn iter_u16(&mut self, addr: u32) -> MemoryIter<'_, Self> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.85s
[INFO] running `Command { std: "docker" "inspect" "98fc942ac75ed1746771da8c5f168d43e3be32bf8f8f6b569287d181f670b2c4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "98fc942ac75ed1746771da8c5f168d43e3be32bf8f8f6b569287d181f670b2c4", kill_on_drop: false }`
[INFO] [stdout] 98fc942ac75ed1746771da8c5f168d43e3be32bf8f8f6b569287d181f670b2c4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9d59a7bc83bc64653bb94b636d13d369b7e06cc7e3cdb114883988517ea6d107
[INFO] running `Command { std: "docker" "start" "-a" "9d59a7bc83bc64653bb94b636d13d369b7e06cc7e3cdb114883988517ea6d107", kill_on_drop: false }`
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/memory_access.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn iter_u16(&mut self, addr: u32) -> MemoryIter<Self> {
[INFO] [stdout]    |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn iter_u16(&mut self, addr: u32) -> MemoryIter<'_, Self> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling m68000 v0.2.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:177:16
[INFO] [stdout]     |
[INFO] [stdout] 177 |             if asm_dynamic == asm::btst_dynamic && asm_static == asm::btst_static {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 177 -             if asm_dynamic == asm::btst_dynamic && asm_static == asm::btst_static {
[INFO] [stdout] 177 +             if std::ptr::fn_addr_eq(asm_dynamic, asm::btst_dynamic as fn(u8, AddressingMode) -> Vec<u16>) && asm_static == asm::btst_static {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:177:52
[INFO] [stdout]     |
[INFO] [stdout] 177 |             if asm_dynamic == asm::btst_dynamic && asm_static == asm::btst_static {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 177 -             if asm_dynamic == asm::btst_dynamic && asm_static == asm::btst_static {
[INFO] [stdout] 177 +             if asm_dynamic == asm::btst_dynamic && std::ptr::fn_addr_eq(asm_static, asm::btst_static as fn(AddressingMode, u8) -> Vec<u16>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:215:16
[INFO] [stdout]     |
[INFO] [stdout] 215 |             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 215 -             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout] 215 +             if !std::ptr::fn_addr_eq(asm, asm::jmp as fn(AddressingMode) -> Vec<u16>) && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:215:35
[INFO] [stdout]     |
[INFO] [stdout] 215 |             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 215 -             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout] 215 +             if asm != asm::jmp && !std::ptr::fn_addr_eq(asm, asm::jsr as fn(AddressingMode) -> Vec<u16>) && asm != asm::pea {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:215:54
[INFO] [stdout]     |
[INFO] [stdout] 215 |             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 215 -             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout] 215 +             if asm != asm::jmp && asm != asm::jsr && !std::ptr::fn_addr_eq(asm, asm::pea as fn(AddressingMode) -> Vec<u16>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:230:16
[INFO] [stdout]     |
[INFO] [stdout] 230 |             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 230 -             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout] 230 +             if std::ptr::fn_addr_eq(asm, asm::jmp as fn(AddressingMode) -> Vec<u16>) || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:230:35
[INFO] [stdout]     |
[INFO] [stdout] 230 |             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 230 -             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout] 230 +             if asm == asm::jmp || std::ptr::fn_addr_eq(asm, asm::jsr as fn(AddressingMode) -> Vec<u16>) || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:230:54
[INFO] [stdout]     |
[INFO] [stdout] 230 |             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 230 -             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout] 230 +             if asm == asm::jmp || asm == asm::jsr || std::ptr::fn_addr_eq(asm, asm::moveccr as fn(AddressingMode) -> Vec<u16>) || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:230:77
[INFO] [stdout]     |
[INFO] [stdout] 230 |             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 230 -             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout] 230 +             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || std::ptr::fn_addr_eq(asm, asm::movesr as fn(AddressingMode) -> Vec<u16>) || asm == asm::pea {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:230:99
[INFO] [stdout]     |
[INFO] [stdout] 230 |             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout]     |                                                                                                   ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 230 -             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stdout] 230 +             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || std::ptr::fn_addr_eq(asm, asm::pea as fn(AddressingMode) -> Vec<u16>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:233:20
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 233 -                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout] 233 +                 if !std::ptr::fn_addr_eq(asm, asm::jmp as fn(AddressingMode) -> Vec<u16>) && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:233:39
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 233 -                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout] 233 +                 if asm != asm::jmp && !std::ptr::fn_addr_eq(asm, asm::jsr as fn(AddressingMode) -> Vec<u16>) && asm != asm::pea {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:233:58
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 233 -                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stdout] 233 +                 if asm != asm::jmp && asm != asm::jsr && !std::ptr::fn_addr_eq(asm, asm::pea as fn(AddressingMode) -> Vec<u16>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:248:16
[INFO] [stdout]     |
[INFO] [stdout] 248 |             if asm != asm::moveccr && asm != asm::movesr {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 248 -             if asm != asm::moveccr && asm != asm::movesr {
[INFO] [stdout] 248 +             if !std::ptr::fn_addr_eq(asm, asm::moveccr as fn(AddressingMode) -> Vec<u16>) && asm != asm::movesr {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:248:39
[INFO] [stdout]     |
[INFO] [stdout] 248 |             if asm != asm::moveccr && asm != asm::movesr {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 248 -             if asm != asm::moveccr && asm != asm::movesr {
[INFO] [stdout] 248 +             if asm != asm::moveccr && !std::ptr::fn_addr_eq(asm, asm::movesr as fn(AddressingMode) -> Vec<u16>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:299:16
[INFO] [stdout]     |
[INFO] [stdout] 299 |             if asm != asm::lea {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 299 -             if asm != asm::lea {
[INFO] [stdout] 299 +             if !std::ptr::fn_addr_eq(asm, asm::lea as fn(u8, AddressingMode) -> Vec<u16>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]    --> tests/assembler.rs:315:16
[INFO] [stdout]     |
[INFO] [stdout] 315 |             if asm != asm::lea {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stdout]     |
[INFO] [stdout] 315 -             if asm != asm::lea {
[INFO] [stdout] 315 +             if !std::ptr::fn_addr_eq(asm, asm::lea as fn(u8, AddressingMode) -> Vec<u16>) {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/memory_access.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn iter_u16(&mut self, addr: u32) -> MemoryIter<Self> {
[INFO] [stdout]    |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn iter_u16(&mut self, addr: u32) -> MemoryIter<'_, Self> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.03s
[INFO] running `Command { std: "docker" "inspect" "9d59a7bc83bc64653bb94b636d13d369b7e06cc7e3cdb114883988517ea6d107", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d59a7bc83bc64653bb94b636d13d369b7e06cc7e3cdb114883988517ea6d107", kill_on_drop: false }`
[INFO] [stdout] 9d59a7bc83bc64653bb94b636d13d369b7e06cc7e3cdb114883988517ea6d107
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ba55c395f964a448a97d1abc8595cc30b605bf786a5a46ba5ab51669079baf15
[INFO] running `Command { std: "docker" "start" "-a" "ba55c395f964a448a97d1abc8595cc30b605bf786a5a46ba5ab51669079baf15", kill_on_drop: false }`
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/memory_access.rs:68:17
[INFO] [stderr]    |
[INFO] [stderr] 68 |     fn iter_u16(&mut self, addr: u32) -> MemoryIter<Self> {
[INFO] [stderr]    |                 ^^^^^^^^^                ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                 |
[INFO] [stderr]    |                 the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 68 |     fn iter_u16(&mut self, addr: u32) -> MemoryIter<'_, Self> {
[INFO] [stderr]    |                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: `m68000` (lib) generated 1 warning (run `cargo fix --lib -p m68000` to apply 1 suggestion)
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:177:16
[INFO] [stderr]     |
[INFO] [stderr] 177 |             if asm_dynamic == asm::btst_dynamic && asm_static == asm::btst_static {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]     = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 177 -             if asm_dynamic == asm::btst_dynamic && asm_static == asm::btst_static {
[INFO] [stderr] 177 +             if std::ptr::fn_addr_eq(asm_dynamic, asm::btst_dynamic as fn(u8, AddressingMode) -> Vec<u16>) && asm_static == asm::btst_static {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:177:52
[INFO] [stderr]     |
[INFO] [stderr] 177 |             if asm_dynamic == asm::btst_dynamic && asm_static == asm::btst_static {
[INFO] [stderr]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 177 -             if asm_dynamic == asm::btst_dynamic && asm_static == asm::btst_static {
[INFO] [stderr] 177 +             if asm_dynamic == asm::btst_dynamic && std::ptr::fn_addr_eq(asm_static, asm::btst_static as fn(AddressingMode, u8) -> Vec<u16>) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:215:16
[INFO] [stderr]     |
[INFO] [stderr] 215 |             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 215 -             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr] 215 +             if !std::ptr::fn_addr_eq(asm, asm::jmp as fn(AddressingMode) -> Vec<u16>) && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:215:35
[INFO] [stderr]     |
[INFO] [stderr] 215 |             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 215 -             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr] 215 +             if asm != asm::jmp && !std::ptr::fn_addr_eq(asm, asm::jsr as fn(AddressingMode) -> Vec<u16>) && asm != asm::pea {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:215:54
[INFO] [stderr]     |
[INFO] [stderr] 215 |             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 215 -             if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr] 215 +             if asm != asm::jmp && asm != asm::jsr && !std::ptr::fn_addr_eq(asm, asm::pea as fn(AddressingMode) -> Vec<u16>) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:230:16
[INFO] [stderr]     |
[INFO] [stderr] 230 |             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 230 -             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr] 230 +             if std::ptr::fn_addr_eq(asm, asm::jmp as fn(AddressingMode) -> Vec<u16>) || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:230:35
[INFO] [stderr]     |
[INFO] [stderr] 230 |             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stdout] 
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout] running 0 tests
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 230 -             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr] 230 +             if asm == asm::jmp || std::ptr::fn_addr_eq(asm, asm::jsr as fn(AddressingMode) -> Vec<u16>) || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:230:54
[INFO] [stderr]     |
[INFO] [stderr] 230 |             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr]     |                                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 230 -             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr] 230 +             if asm == asm::jmp || asm == asm::jsr || std::ptr::fn_addr_eq(asm, asm::moveccr as fn(AddressingMode) -> Vec<u16>) || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:230:77
[INFO] [stderr]     |
[INFO] [stderr] 230 |             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr]     |                                                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 230 -             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr] 230 +             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || std::ptr::fn_addr_eq(asm, asm::movesr as fn(AddressingMode) -> Vec<u16>) || asm == asm::pea {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:230:99
[INFO] [stderr]     |
[INFO] [stderr] 230 |             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr]     |                                                                                                   ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 230 -             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || asm == asm::pea {
[INFO] [stderr] 230 +             if asm == asm::jmp || asm == asm::jsr || asm == asm::moveccr || asm == asm::movesr || std::ptr::fn_addr_eq(asm, asm::pea as fn(AddressingMode) -> Vec<u16>) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:233:20
[INFO] [stderr]     |
[INFO] [stderr] 233 |                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout] 
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 233 -                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr] 233 +                 if !std::ptr::fn_addr_eq(asm, asm::jmp as fn(AddressingMode) -> Vec<u16>) && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:233:39
[INFO] [stderr]     |
[INFO] [stderr] 233 |                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 233 -                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr] 233 +                 if asm != asm::jmp && !std::ptr::fn_addr_eq(asm, asm::jsr as fn(AddressingMode) -> Vec<u16>) && asm != asm::pea {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:233:58
[INFO] [stderr]     |
[INFO] [stderr] 233 |                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr]     |                                                          ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 233 -                 if asm != asm::jmp && asm != asm::jsr && asm != asm::pea {
[INFO] [stderr] 233 +                 if asm != asm::jmp && asm != asm::jsr && !std::ptr::fn_addr_eq(asm, asm::pea as fn(AddressingMode) -> Vec<u16>) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:248:16
[INFO] [stderr]     |
[INFO] [stderr] 248 |             if asm != asm::moveccr && asm != asm::movesr {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 248 -             if asm != asm::moveccr && asm != asm::movesr {
[INFO] [stderr] 248 +             if !std::ptr::fn_addr_eq(asm, asm::moveccr as fn(AddressingMode) -> Vec<u16>) && asm != asm::movesr {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:248:39
[INFO] [stderr]     |
[INFO] [stderr] 248 |             if asm != asm::moveccr && asm != asm::movesr {
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 248 -             if asm != asm::moveccr && asm != asm::movesr {
[INFO] [stderr] 248 +             if asm != asm::moveccr && !std::ptr::fn_addr_eq(asm, asm::movesr as fn(AddressingMode) -> Vec<u16>) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:299:16
[INFO] [stderr]     |
[INFO] [stderr] 299 |             if asm != asm::lea {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 299 -             if asm != asm::lea {
[INFO] [stderr] 299 +             if !std::ptr::fn_addr_eq(asm, asm::lea as fn(u8, AddressingMode) -> Vec<u16>) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]    --> tests/assembler.rs:315:16
[INFO] [stderr]     |
[INFO] [stderr] 315 |             if asm != asm::lea {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: the address of the same function can vary between different codegen units
[INFO] [stderr]     = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]     = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr] help: refactor your code, or use `std::ptr::fn_addr_eq` to suppress the lint
[INFO] [stderr]     |
[INFO] [stderr] 315 -             if asm != asm::lea {
[INFO] [stderr] 315 +             if !std::ptr::fn_addr_eq(asm, asm::lea as fn(u8, AddressingMode) -> Vec<u16>) {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `m68000` (test "assembler") generated 17 warnings
[INFO] [stderr] warning: `m68000` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/m68000-3b1f219ef25f7770)
[INFO] [stderr]      Running unittests src/bin/decoder.rs (/opt/rustwide/target/debug/deps/decoder-30736249489e3312)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running unittests src/bin/disassemble.rs (/opt/rustwide/target/debug/deps/disassemble-9363c4a7d0841fcd)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/scc68070.rs (/opt/rustwide/target/debug/deps/scc68070-5f670ca5d7f29b15)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/assembler.rs (/opt/rustwide/target/debug/deps/assembler-40dc64bec19494c7)
[INFO] [stdout] 
[INFO] [stdout] running 84 tests
[INFO] [stdout] test assembler_bra ... ok
[INFO] [stdout] test assembler_andiccr ... ok
[INFO] [stdout] test assembler_bsr ... ok
[INFO] [stdout] test assembler_andisr ... ok
[INFO] [stdout] test assembler_bchg ... ok
[INFO] [stdout] test assembler_bcc ... ok
[INFO] [stdout] test assembler_addq ... ok
[INFO] [stdout] test assembler_andi ... ok
[INFO] [stdout] test assembler_bclr ... ok
[INFO] [stdout] test assembler_btst ... ok
[INFO] [stdout] test assembler_addi ... ok
[INFO] [stdout] test assembler_chk ... ok
[INFO] [stdout] test assembler_divs ... ok
[INFO] [stdout] test assembler_bset ... ok
[INFO] [stdout] test assembler_cmp ... ok
[INFO] [stdout] test assembler_eoriccr ... ok
[INFO] [stdout] test assembler_eorisr ... ok
[INFO] [stdout] test assembler_dbcc ... ok
[INFO] [stdout] test assembler_ext ... ok
[INFO] [stdout] test assembler_illegal ... ok
[INFO] [stdout] test assembler_cmpm ... ok
[INFO] [stdout] test assembler_clr ... ok
[INFO] [stdout] test assembler_cmpi ... ok
[INFO] [stdout] test assembler_divu ... ok
[INFO] [stdout] test assembler_adda ... ok
[INFO] [stdout] test assembler_eori ... ok
[INFO] [stdout] test assembler_cmpa ... ok
[INFO] [stdout] test assembler_eor ... ok
[INFO] [stdout] test assembler_jmp ... ok
[INFO] [stdout] test assembler_movea ... ok
[INFO] [stdout] test assembler_link ... ok
[INFO] [stdout] test assembler_movefsr ... ok
[INFO] [stdout] test assembler_lea ... ok
[INFO] [stdout] test assembler_jsr ... ok
[INFO] [stdout] test assembler_move ... ok
[INFO] [stdout] test assembler_moveccr ... ok
[INFO] [stdout] test assembler_mulu ... ok
[INFO] [stdout] test assembler_movesr ... ok
[INFO] [stdout] test assembler_nbcd ... ok
[INFO] [stdout] test assembler_moveusp ... ok
[INFO] [stdout] test assembler_nop ... ok
[INFO] [stdout] test assembler_moveq ... ok
[INFO] [stdout] test assembler_muls ... ok
[INFO] [stdout] test assembler_abcd ... ok
[INFO] [stdout] test assembler_oriccr ... ok
[INFO] [stdout] test assembler_orisr ... ok
[INFO] [stdout] test assembler_neg ... ok
[INFO] [stdout] test assembler_reset ... ok
[INFO] [stdout] test assembler_negx ... ok
[INFO] [stdout] test assembler_ori ... ok
[INFO] [stdout] test assembler_pea ... ok
[INFO] [stdout] test assembler_movem ... ok
[INFO] [stdout] test assembler_not ... ok
[INFO] [stdout] test assembler_rte ... ok
[INFO] [stdout] test assembler_rtr ... ok
[INFO] [stdout] test assembler_rts ... ok
[INFO] [stdout] test assembler_asm ... ok
[INFO] [stdout] test assembler_scc ... ok
[INFO] [stdout] test assembler_stop ... ok
[INFO] [stdout] test assembler_suba ... ok
[INFO] [stdout] test assembler_subi ... ok
[INFO] [stdout] test assembler_subq ... ok
[INFO] [stdout] test assembler_exg ... ok
[INFO] [stdout] test assembler_swap ... ok
[INFO] [stdout] test assembler_tas ... ok
[INFO] [stdout] test assembler_trap ... ok
[INFO] [stdout] test assembler_trapv ... ok
[INFO] [stdout] test assembler_lsm ... ok
[INFO] [stdout] test assembler_tst ... ok
[INFO] [stdout] test assembler_unlk ... ok
[INFO] [stdout] test assembler_rom ... ok
[INFO] [stdout] test assembler_sbcd ... ok
[INFO] [stdout] test assembler_roxm ... ok
[INFO] [stdout] test assembler_add ... ok
[INFO] [stdout] test assembler_addx ... ok
[INFO] [stdout] test assembler_and ... ok
[INFO] [stdout] test assembler_sub ... ok
[INFO] [stdout] test assembler_or ... ok
[INFO] [stdout] test assembler_subx ... ok
[INFO] [stdout] test assembler_asr ... ok
[INFO] [stdout] test assembler_lsr ... ok
[INFO] [stdout] test assembler_roxr ... ok
[INFO] [stdout] test assembler_ror ... ok
[INFO] [stderr] error: test failed, to rerun pass `--test assembler`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/assembler-40dc64bec19494c7` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "ba55c395f964a448a97d1abc8595cc30b605bf786a5a46ba5ab51669079baf15", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba55c395f964a448a97d1abc8595cc30b605bf786a5a46ba5ab51669079baf15", kill_on_drop: false }`
[INFO] [stdout] ba55c395f964a448a97d1abc8595cc30b605bf786a5a46ba5ab51669079baf15
