[INFO] fetching crate atomic_fn 0.2.1...
[INFO] testing atomic_fn-0.2.1 against beta-2023-04-20 for beta-1.70-1
[INFO] extracting crate atomic_fn 0.2.1 into /workspace/builds/worker-7-tc2/source
[INFO] validating manifest of crates.io crate atomic_fn 0.2.1 on toolchain beta-2023-04-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate atomic_fn 0.2.1
[INFO] finished tweaking crates.io crate atomic_fn 0.2.1
[INFO] tweaked toml for crates.io crate atomic_fn 0.2.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fac7b454b3a717fad1656b7bab27918e55bf5f8d40041219918d8c6db60d27d8
[INFO] running `Command { std: "docker" "start" "-a" "fac7b454b3a717fad1656b7bab27918e55bf5f8d40041219918d8c6db60d27d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fac7b454b3a717fad1656b7bab27918e55bf5f8d40041219918d8c6db60d27d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fac7b454b3a717fad1656b7bab27918e55bf5f8d40041219918d8c6db60d27d8", kill_on_drop: false }`
[INFO] [stdout] fac7b454b3a717fad1656b7bab27918e55bf5f8d40041219918d8c6db60d27d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e1eba8e6ef47141ddf569f19dfa20d592d743d24092d048834969d6659e92564
[INFO] running `Command { std: "docker" "start" "-a" "e1eba8e6ef47141ddf569f19dfa20d592d743d24092d048834969d6659e92564", kill_on_drop: false }`
[INFO] [stderr]    Compiling atomic_fn v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.19s
[INFO] running `Command { std: "docker" "inspect" "e1eba8e6ef47141ddf569f19dfa20d592d743d24092d048834969d6659e92564", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1eba8e6ef47141ddf569f19dfa20d592d743d24092d048834969d6659e92564", kill_on_drop: false }`
[INFO] [stdout] e1eba8e6ef47141ddf569f19dfa20d592d743d24092d048834969d6659e92564
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d5f21dfc6ecdc9b79ee371aaff45785329e9a6d11708a21e7f9ffb06c3d2a0c0
[INFO] running `Command { std: "docker" "start" "-a" "d5f21dfc6ecdc9b79ee371aaff45785329e9a6d11708a21e7f9ffb06c3d2a0c0", kill_on_drop: false }`
[INFO] [stderr]    Compiling atomic_fn v0.2.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.50s
[INFO] running `Command { std: "docker" "inspect" "d5f21dfc6ecdc9b79ee371aaff45785329e9a6d11708a21e7f9ffb06c3d2a0c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d5f21dfc6ecdc9b79ee371aaff45785329e9a6d11708a21e7f9ffb06c3d2a0c0", kill_on_drop: false }`
[INFO] [stdout] d5f21dfc6ecdc9b79ee371aaff45785329e9a6d11708a21e7f9ffb06c3d2a0c0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3949c934644d2f4dacd15feea0c08663fa4719f6ddc3eff2be981f4acbd4bf38
[INFO] running `Command { std: "docker" "start" "-a" "3949c934644d2f4dacd15feea0c08663fa4719f6ddc3eff2be981f4acbd4bf38", kill_on_drop: false }`
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/atomic_fn-b37bc4b419bddcba)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests atomic_fn
[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] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test src/lib.rs - AtomicFnPtr<T>::compare_exchange_weak (line 317) ... FAILED
[INFO] [stdout] test src/lib.rs - AtomicFnPtr<T>::compare_exchange (line 246) ... FAILED
[INFO] [stdout] test src/lib.rs - AtomicFnPtr<T>::compare_and_swap (line 184) ... FAILED
[INFO] [stdout] test src/lib.rs - AtomicFnPtr<T>::fetch_update (line 397) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - AtomicFnPtr<T>::compare_exchange_weak (line 317) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `fn() {a_fn}: atomic_fn::FnPtr` is not satisfied
[INFO] [stdout]   --> src/lib.rs:329:33
[INFO] [stdout]    |
[INFO] [stdout] 15 | let some_ptr = AtomicFnPtr::new(a_fn);
[INFO] [stdout]    |                ---------------- ^^^^ the trait `atomic_fn::FnPtr` is not implemented for fn item `fn() {a_fn}`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `atomic_fn::FnPtr`:
[INFO] [stdout]              extern "C" fn() -> Ret
[INFO] [stdout]              extern "C" fn(A, B) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, E) -> Ret
[INFO] [stdout]            and 86 others
[INFO] [stdout] note: required by a bound in `AtomicFnPtr::<T>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl<T: FnPtr> AtomicFnPtr<T> {
[INFO] [stdout]    |         ^^^^^ required by this bound in `AtomicFnPtr::<T>::new`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `fn() {a_fn}: atomic_fn::FnPtr` is not satisfied
[INFO] [stdout]   --> src/lib.rs:329:16
[INFO] [stdout]    |
[INFO] [stdout] 15 | let some_ptr = AtomicFnPtr::new(a_fn);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^ the trait `atomic_fn::FnPtr` is not implemented for fn item `fn() {a_fn}`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `atomic_fn::FnPtr`:
[INFO] [stdout]              extern "C" fn() -> Ret
[INFO] [stdout]              extern "C" fn(A, B) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, E) -> Ret
[INFO] [stdout]            and 86 others
[INFO] [stdout] note: required by a bound in `AtomicFnPtr`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:66:27
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct AtomicFnPtr<T: FnPtr> {
[INFO] [stdout]    |                           ^^^^^ required by this bound in `AtomicFnPtr`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `load` exists for struct `AtomicFnPtr<fn() {a_fn}>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:331:24
[INFO] [stdout]    |
[INFO] [stdout] 17 | let mut old = some_ptr.load(Ordering::Relaxed);
[INFO] [stdout]    |                        ^^^^ method cannot be called on `AtomicFnPtr<fn() {a_fn}>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::sealed::FnPtrSealed`
[INFO] [stdout]            which is required by `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compare_exchange_weak` exists for struct `AtomicFnPtr<fn() {a_fn}>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:336:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |     match some_ptr.compare_exchange_weak(old, new, Ordering::SeqCst, Ordering::Relaxed) {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^ method cannot be called on `AtomicFnPtr<fn() {a_fn}>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::sealed::FnPtrSealed`
[INFO] [stdout]            which is required by `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - AtomicFnPtr<T>::compare_exchange (line 246) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `fn() {a_fn}: atomic_fn::FnPtr` is not satisfied
[INFO] [stdout]   --> src/lib.rs:259:34
[INFO] [stdout]    |
[INFO] [stdout] 16 | let some_ptr  = AtomicFnPtr::new(ptr);
[INFO] [stdout]    |                 ---------------- ^^^ the trait `atomic_fn::FnPtr` is not implemented for fn item `fn() {a_fn}`
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `atomic_fn::FnPtr`:
[INFO] [stdout]              extern "C" fn() -> Ret
[INFO] [stdout]              extern "C" fn(A, B) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, E) -> Ret
[INFO] [stdout]            and 86 others
[INFO] [stdout] note: required by a bound in `AtomicFnPtr::<T>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl<T: FnPtr> AtomicFnPtr<T> {
[INFO] [stdout]    |         ^^^^^ required by this bound in `AtomicFnPtr::<T>::new`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `fn() {a_fn}: atomic_fn::FnPtr` is not satisfied
[INFO] [stdout]   --> src/lib.rs:259:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | let some_ptr  = AtomicFnPtr::new(ptr);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^ the trait `atomic_fn::FnPtr` is not implemented for fn item `fn() {a_fn}`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `atomic_fn::FnPtr`:
[INFO] [stdout]              extern "C" fn() -> Ret
[INFO] [stdout]              extern "C" fn(A, B) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, E) -> Ret
[INFO] [stdout]            and 86 others
[INFO] [stdout] note: required by a bound in `AtomicFnPtr`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:66:27
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct AtomicFnPtr<T: FnPtr> {
[INFO] [stdout]    |                           ^^^^^ required by this bound in `AtomicFnPtr`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `load` exists for struct `AtomicFnPtr<fn() {a_fn}>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:262:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | (some_ptr.load(Ordering::SeqCst))();
[INFO] [stdout]    |           ^^^^ method cannot be called on `AtomicFnPtr<fn() {a_fn}>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::sealed::FnPtrSealed`
[INFO] [stdout]            which is required by `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compare_exchange` exists for struct `AtomicFnPtr<fn() {a_fn}>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:264:22
[INFO] [stdout]    |
[INFO] [stdout] 21 | let value = some_ptr.compare_exchange(
[INFO] [stdout]    |             ---------^^^^^^^^^^^^^^^^ method cannot be called on `AtomicFnPtr<fn() {a_fn}>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::sealed::FnPtrSealed`
[INFO] [stdout]            which is required by `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `load` exists for struct `AtomicFnPtr<fn() {a_fn}>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:271:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | (some_ptr.load(Ordering::SeqCst))();
[INFO] [stdout]    |           ^^^^ method cannot be called on `AtomicFnPtr<fn() {a_fn}>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::sealed::FnPtrSealed`
[INFO] [stdout]            which is required by `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - AtomicFnPtr<T>::compare_and_swap (line 184) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `fn() {a_fn}: atomic_fn::FnPtr` is not satisfied
[INFO] [stdout]   --> src/lib.rs:197:33
[INFO] [stdout]    |
[INFO] [stdout] 16 | let some_ptr = AtomicFnPtr::new(ptr);
[INFO] [stdout]    |                ---------------- ^^^ the trait `atomic_fn::FnPtr` is not implemented for fn item `fn() {a_fn}`
[INFO] [stdout]    |                |
[INFO] [stdout]    |                required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `atomic_fn::FnPtr`:
[INFO] [stdout]              extern "C" fn() -> Ret
[INFO] [stdout]              extern "C" fn(A, B) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, E) -> Ret
[INFO] [stdout]            and 86 others
[INFO] [stdout] note: required by a bound in `AtomicFnPtr::<T>::new`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:70:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl<T: FnPtr> AtomicFnPtr<T> {
[INFO] [stdout]    |         ^^^^^ required by this bound in `AtomicFnPtr::<T>::new`
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `fn() {a_fn}: atomic_fn::FnPtr` is not satisfied
[INFO] [stdout]   --> src/lib.rs:197:16
[INFO] [stdout]    |
[INFO] [stdout] 16 | let some_ptr = AtomicFnPtr::new(ptr);
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^ the trait `atomic_fn::FnPtr` is not implemented for fn item `fn() {a_fn}`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `atomic_fn::FnPtr`:
[INFO] [stdout]              extern "C" fn() -> Ret
[INFO] [stdout]              extern "C" fn(A, B) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, ...) -> Ret
[INFO] [stdout]              extern "C" fn(A, B, C, D, E) -> Ret
[INFO] [stdout]            and 86 others
[INFO] [stdout] note: required by a bound in `AtomicFnPtr`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/lib.rs:66:27
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct AtomicFnPtr<T: FnPtr> {
[INFO] [stdout]    |                           ^^^^^ required by this bound in `AtomicFnPtr`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `load` exists for struct `AtomicFnPtr<fn() {a_fn}>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:200:11
[INFO] [stdout]    |
[INFO] [stdout] 19 | (some_ptr.load(Ordering::SeqCst))();
[INFO] [stdout]    |           ^^^^ method cannot be called on `AtomicFnPtr<fn() {a_fn}>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::sealed::FnPtrSealed`
[INFO] [stdout]            which is required by `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `compare_and_swap` exists for struct `AtomicFnPtr<fn() {a_fn}>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:202:22
[INFO] [stdout]    |
[INFO] [stdout] 21 | let value = some_ptr.compare_and_swap(ptr, other_ptr, Ordering::Relaxed);
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^ method cannot be called on `AtomicFnPtr<fn() {a_fn}>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::sealed::FnPtrSealed`
[INFO] [stdout]            which is required by `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `load` exists for struct `AtomicFnPtr<fn() {a_fn}>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> src/lib.rs:204:11
[INFO] [stdout]    |
[INFO] [stdout] 23 | (some_ptr.load(Ordering::SeqCst))();
[INFO] [stdout]    |           ^^^^ method cannot be called on `AtomicFnPtr<fn() {a_fn}>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout]            `fn() {a_fn}: atomic_fn::sealed::FnPtrSealed`
[INFO] [stdout]            which is required by `fn() {a_fn}: atomic_fn::FnPtr`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - AtomicFnPtr<T>::fetch_update (line 397) stdout ----
[INFO] [stdout] Test executable failed (exit status: 101).
[INFO] [stdout] 
[INFO] [stdout] stdout:
[INFO] [stdout] Called `a_fn`
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] thread 'main' panicked at 'assertion failed: `(left == right)`
[INFO] [stdout]   left: `Err(0x558686bac040)`,
[INFO] [stdout]  right: `Ok(0x558686bac040)`', src/lib.rs:29:1
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x558686bc34ba - std::backtrace_rs::backtrace::libunwind::trace::h2f05d0192276a8f6
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
[INFO] [stdout]    1:     0x558686bc34ba - std::backtrace_rs::backtrace::trace_unsynchronized::hedc23dff7a1af150
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x558686bc34ba - std::sys_common::backtrace::_print_fmt::h17541ef7592f3ce2
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:65:5
[INFO] [stdout]    3:     0x558686bc34ba - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h20f75df5ab0c0792
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x558686bdd60f - core::fmt::write::h78109e6f466b3af6
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/fmt/mod.rs:1254:17
[INFO] [stdout]    5:     0x558686bc1265 - std::io::Write::write_fmt::hc59e1b02dd273c8a
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/io/mod.rs:1698:15
[INFO] [stdout]    6:     0x558686bc3285 - std::sys_common::backtrace::_print::h8dac57a9f8fbf9a5
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    7:     0x558686bc3285 - std::sys_common::backtrace::print::hf9ecbf41d1aa712f
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    8:     0x558686bc480e - std::panicking::default_hook::{{closure}}::h04c07acfc84ca028
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:269:22
[INFO] [stdout]    9:     0x558686bc45b5 - std::panicking::default_hook::h01f6bb23e1eceb2c
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:288:9
[INFO] [stdout]   10:     0x558686bc4d6e - std::panicking::rust_panic_with_hook::h2bb3722bbaf2f6df
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:691:13
[INFO] [stdout]   11:     0x558686bc4c69 - std::panicking::begin_panic_handler::{{closure}}::h91bc7f36a4be011b
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:582:13
[INFO] [stdout]   12:     0x558686bc3926 - std::sys_common::backtrace::__rust_end_short_backtrace::h8b3d3717114f9e59
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/sys_common/backtrace.rs:150:18
[INFO] [stdout]   13:     0x558686bc49c2 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:578:5
[INFO] [stdout]   14:     0x558686ba7303 - core::panicking::panic_fmt::hfd368e3fbdabea26
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/panicking.rs:67:14
[INFO] [stdout]   15:     0x558686ba757f - core::panicking::assert_failed_inner::haef49168e1798a91
[INFO] [stdout]   16:     0x558686baa9f6 - core::panicking::assert_failed::h3aa49a7a27e01730
[INFO] [stdout]   17:     0x558686babfde - rust_out::main::_doctest_main_src_lib_rs_397_0::h3230203dcf77cef3
[INFO] [stdout]   18:     0x558686babd36 - rust_out::main::h2731449a68dfa004
[INFO] [stdout]   19:     0x558686ba7a83 - core::ops::function::FnOnce::call_once::hd1715aa1b26fc35c
[INFO] [stdout]   20:     0x558686ba7906 - std::sys_common::backtrace::__rust_begin_short_backtrace::h8d2b4d09ce515535
[INFO] [stdout]   21:     0x558686ba7959 - std::rt::lang_start::{{closure}}::hc9a918c63b0dc835
[INFO] [stdout]   22:     0x558686bbefde - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h2eb19b8ce4148df4
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/core/src/ops/function.rs:287:13
[INFO] [stdout]   23:     0x558686bbefde - std::panicking::try::do_call::h2e900feff5d504c5
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:485:40
[INFO] [stdout]   24:     0x558686bbefde - std::panicking::try::h8854836cb85aa9f2
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:449:19
[INFO] [stdout]   25:     0x558686bbefde - std::panic::catch_unwind::h706025dd4c48f64b
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panic.rs:140:14
[INFO] [stdout]   26:     0x558686bbefde - std::rt::lang_start_internal::{{closure}}::h7be5b97f4a07a91a
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/rt.rs:148:48
[INFO] [stdout]   27:     0x558686bbefde - std::panicking::try::do_call::h59847e9d0a176965
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:485:40
[INFO] [stdout]   28:     0x558686bbefde - std::panicking::try::h399a918ba8522823
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panicking.rs:449:19
[INFO] [stdout]   29:     0x558686bbefde - std::panic::catch_unwind::hca7ca6c55b2a2e26
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/panic.rs:140:14
[INFO] [stdout]   30:     0x558686bbefde - std::rt::lang_start_internal::h2c807a81560459eb
[INFO] [stdout]                                at /rustc/1b7dd2252b99671ce5d1cb9664c5f8636329436d/library/std/src/rt.rs:148:20
[INFO] [stdout]   31:     0x558686ba7937 - std::rt::lang_start::hc4bd3329ce767e23
[INFO] [stdout]   32:     0x558686bac0f5 - main
[INFO] [stdout]   33:     0x7fce10944d90 - <unknown>
[INFO] [stdout]   34:     0x7fce10944e40 - __libc_start_main
[INFO] [stdout]   35:     0x558686ba7835 - _start
[INFO] [stdout]   36:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - AtomicFnPtr<T>::compare_and_swap (line 184)
[INFO] [stdout]     src/lib.rs - AtomicFnPtr<T>::compare_exchange (line 246)
[INFO] [stdout]     src/lib.rs - AtomicFnPtr<T>::compare_exchange_weak (line 317)
[INFO] [stdout]     src/lib.rs - AtomicFnPtr<T>::fetch_update (line 397)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "3949c934644d2f4dacd15feea0c08663fa4719f6ddc3eff2be981f4acbd4bf38", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3949c934644d2f4dacd15feea0c08663fa4719f6ddc3eff2be981f4acbd4bf38", kill_on_drop: false }`
[INFO] [stdout] 3949c934644d2f4dacd15feea0c08663fa4719f6ddc3eff2be981f4acbd4bf38
