[INFO] cloning repository https://github.com/cantoramann/rust-atomics
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cantoramann/rust-atomics" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcantoramann%2Frust-atomics", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcantoramann%2Frust-atomics'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 13c61a1830ed83e74ef09a8bd68d6c94d59b9992
[INFO] checking cantoramann/rust-atomics against try#78c81ee3917a99dcff6e2e6822800f0492c415c3 for pr-148967
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcantoramann%2Frust-atomics" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cantoramann/rust-atomics
[INFO] finished tweaking git repo https://github.com/cantoramann/rust-atomics
[INFO] tweaked toml for git repo https://github.com/cantoramann/rust-atomics written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cantoramann/rust-atomics on toolchain 78c81ee3917a99dcff6e2e6822800f0492c415c3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cantoramann/rust-atomics 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" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 67d3736db7aab3a470b6c4921a98ca3cc13920fdb7b92590338bca9c7f84573a
[INFO] running `Command { std: "docker" "start" "-a" "67d3736db7aab3a470b6c4921a98ca3cc13920fdb7b92590338bca9c7f84573a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "67d3736db7aab3a470b6c4921a98ca3cc13920fdb7b92590338bca9c7f84573a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67d3736db7aab3a470b6c4921a98ca3cc13920fdb7b92590338bca9c7f84573a", kill_on_drop: false }`
[INFO] [stdout] 67d3736db7aab3a470b6c4921a98ca3cc13920fdb7b92590338bca9c7f84573a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c4f2ddf62104b89de154f16226e56f4f6a582631725652c7ab0ccb1ab923a60b
[INFO] running `Command { std: "docker" "start" "-a" "c4f2ddf62104b89de154f16226e56f4f6a582631725652c7ab0ccb1ab923a60b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rust-atomics v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/chapter1/example6_shared_ownership_rc.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{rc::Rc, thread};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `self`
[INFO] [stdout]  --> src/chapter2/example2_basic_atomics_progress_reporting.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{self, Write};
[INFO] [stdout]   |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Relaxed`
[INFO] [stdout]  --> src/chapter3/example11_advanced_sequantial_consistency.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 |         Ordering::{Relaxed, SeqCst},
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicU64` and `Relaxed`
[INFO] [stdout]  --> src/chapter3/example7_release_acquire_unsafe.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 |     AtomicBool, AtomicU64,
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 3 |     Ordering::{Acquire, Relaxed, Release},
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Relaxed`
[INFO] [stdout]  --> src/chapter3/example9_release_acquire_lazy_init.rs:2:44
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::atomic::Ordering::{Acquire, Relaxed, Release};
[INFO] [stdout]   |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread`
[INFO] [stdout]  --> src/chapter1/example6_shared_ownership_rc.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{rc::Rc, thread};
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `self`
[INFO] [stdout]  --> src/chapter2/example2_basic_atomics_progress_reporting.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::io::{self, Write};
[INFO] [stdout]   |               ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Relaxed`
[INFO] [stdout]  --> src/chapter3/example11_advanced_sequantial_consistency.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 |         Ordering::{Relaxed, SeqCst},
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AtomicU64` and `Relaxed`
[INFO] [stdout]  --> src/chapter3/example7_release_acquire_unsafe.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 |     AtomicBool, AtomicU64,
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 3 |     Ordering::{Acquire, Relaxed, Release},
[INFO] [stdout]   |                         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Relaxed`
[INFO] [stdout]  --> src/chapter3/example9_release_acquire_lazy_init.rs:2:44
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::atomic::Ordering::{Acquire, Relaxed, Release};
[INFO] [stdout]   |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/chapter3/example1_relaxted_ordering.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     for i in 0..25 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/chapter3/example9_release_acquire_lazy_init.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         for i in 0..num_spawns {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example1_basic_spawn` is never used
[INFO] [stdout]  --> src/chapter1/example1_basic_spawn.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example1_basic_spawn() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]   --> src/chapter1/example1_basic_spawn.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn f() {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example2_basic_spawn_join` is never used
[INFO] [stdout]  --> src/chapter1/example2_basic_spawn_join.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example2_basic_spawn_join() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]   --> src/chapter1/example2_basic_spawn_join.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn f() {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example3_basic_spawn_closure` is never used
[INFO] [stdout]  --> src/chapter1/example3_basic_spawn_closure.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example3_basic_spawn_closure() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]   --> src/chapter1/example3_basic_spawn_closure.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn f() {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example4_basic_spawn_return` is never used
[INFO] [stdout]  --> src/chapter1/example4_basic_spawn_return.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example4_basic_spawn_return() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example5_basic_spawn_scoped` is never used
[INFO] [stdout]  --> src/chapter1/example5_basic_spawn_scoped.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example5_basic_spawn_scoped() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example6_shared_ownership_rc` is never used
[INFO] [stdout]  --> src/chapter1/example6_shared_ownership_rc.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example6_shared_ownership_rc() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example7_shared_ownership_arc` is never used
[INFO] [stdout]  --> src/chapter1/example7_shared_ownership_arc.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn example7_shared_ownership_arc() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example7_shared_ownership_arc_shadowing_suggested` is never used
[INFO] [stdout]   --> src/chapter1/example7_shared_ownership_arc.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn example7_shared_ownership_arc_shadowing_suggested() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example8_main` is never used
[INFO] [stdout]  --> src/chapter1/example8_borrowing_data_races_intro.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn example8_main() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]  --> src/chapter1/example8_borrowing_data_races_intro.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn f(a: &i32, b: &mut i32) {
[INFO] [stdout]   |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example1_basic_atomic_load_store_stop_flag` is never used
[INFO] [stdout]  --> src/chapter2/example1_basic_atomic_load_store_stop_flag.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn example1_basic_atomic_load_store_stop_flag() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_work` is never used
[INFO] [stdout]   --> src/chapter2/example1_basic_atomic_load_store_stop_flag.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn some_work() -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example2_basic_atomics_progress_reporting` is never used
[INFO] [stdout]  --> src/chapter2/example2_basic_atomics_progress_reporting.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn example2_basic_atomics_progress_reporting() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_item` is never used
[INFO] [stdout]   --> src/chapter2/example2_basic_atomics_progress_reporting.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn process_item(i: usize) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example3_basic_atomics_sync` is never used
[INFO] [stdout]  --> src/chapter2/example3_basic_atomics_sync.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn example3_basic_atomics_sync() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_item` is never used
[INFO] [stdout]   --> src/chapter2/example3_basic_atomics_sync.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn process_item(i: usize) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example4_basic_atomics_lazy_init` is never used
[INFO] [stdout]  --> src/chapter2/example4_basic_atomics_lazy_init.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn example4_basic_atomics_lazy_init() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_x` is never used
[INFO] [stdout]   --> src/chapter2/example4_basic_atomics_lazy_init.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn calculate_x() -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example_5_progress_reporting_multiple_threads_fetch_add` is never used
[INFO] [stdout]  --> src/chapter2/example5_progress_reporting_multiple_threads_fetch_add.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn example_5_progress_reporting_multiple_threads_fetch_add() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_item` is never used
[INFO] [stdout]   --> src/chapter2/example5_progress_reporting_multiple_threads_fetch_add.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn process_item(_i: usize) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/chapter3/example1_relaxted_ordering.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     for i in 0..25 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example6_statistics_with_fetch_ops` is never used
[INFO] [stdout]  --> src/chapter2/example6_statistics_with_fetch_ops.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn example6_statistics_with_fetch_ops() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_item` is never used
[INFO] [stdout]   --> src/chapter2/example6_statistics_with_fetch_ops.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn process_item(_i: usize) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_new_id_iter1` is never used
[INFO] [stdout]  --> src/chapter2/example7_id_allocation_using_fetch.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn allocate_new_id_iter1() -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_new_id_iter2` is never used
[INFO] [stdout]   --> src/chapter2/example7_id_allocation_using_fetch.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn allocate_new_id_iter2() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_new_id_iter3` is never used
[INFO] [stdout]   --> src/chapter2/example7_id_allocation_using_fetch.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn allocate_new_id_iter3() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_new_id` is never used
[INFO] [stdout]  --> src/chapter2/example8_compare_exchange.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn allocate_new_id() -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `KEY` is never used
[INFO] [stdout]  --> src/chapter2/example9_compare_exchange_lazy_init.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static KEY: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TOTAL_KEY_GENS` is never used
[INFO] [stdout]  --> src/chapter2/example9_compare_exchange_lazy_init.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static TOTAL_KEY_GENS: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example9_compare_exchange_lazy_init` is never used
[INFO] [stdout]  --> src/chapter2/example9_compare_exchange_lazy_init.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn example9_compare_exchange_lazy_init() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thread_getting_key` is never used
[INFO] [stdout]   --> src/chapter2/example9_compare_exchange_lazy_init.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn thread_getting_key() -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_key` is never used
[INFO] [stdout]   --> src/chapter2/example9_compare_exchange_lazy_init.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn generate_random_key() -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `A` is never used
[INFO] [stdout]  --> src/chapter3/example10_sequantially_consistent_ordering.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static A: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `B` is never used
[INFO] [stdout]  --> src/chapter3/example10_sequantially_consistent_ordering.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | static B: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `S` is never used
[INFO] [stdout]  --> src/chapter3/example10_sequantially_consistent_ordering.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | static mut S: String = String::new();
[INFO] [stdout]   |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example10_sequantially_consistent_ordering` is never used
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn example10_sequantially_consistent_ordering() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example10_sequantially_consistent_ordering_no_print` is never used
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn example10_sequantially_consistent_ordering_no_print() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `X` is never used
[INFO] [stdout]  --> src/chapter3/example1_relaxted_ordering.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static X: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example1_relaxted_ordering` is never used
[INFO] [stdout]  --> src/chapter3/example1_relaxted_ordering.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn example1_relaxted_ordering() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]   --> src/chapter3/example1_relaxted_ordering.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn add(val: i32) {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read` is never used
[INFO] [stdout]   --> src/chapter3/example1_relaxted_ordering.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn read() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `X` is never used
[INFO] [stdout]  --> src/chapter3/example2_basic_happens_before_relationship_within_thread.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | static X: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `Y` is never used
[INFO] [stdout]  --> src/chapter3/example2_basic_happens_before_relationship_within_thread.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static Y: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example3_basic_happens_before_relationship_within_thread` is never used
[INFO] [stdout]  --> src/chapter3/example2_basic_happens_before_relationship_within_thread.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn example3_basic_happens_before_relationship_within_thread() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `a` is never used
[INFO] [stdout]   --> src/chapter3/example2_basic_happens_before_relationship_within_thread.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn a() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `b` is never used
[INFO] [stdout]   --> src/chapter3/example2_basic_happens_before_relationship_within_thread.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn b() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `X` is never used
[INFO] [stdout]  --> src/chapter3/example3_spawning_happens_before_relationship.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static X: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example4_spawning_happens_before_relationship` is never used
[INFO] [stdout]  --> src/chapter3/example3_spawning_happens_before_relationship.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn example4_spawning_happens_before_relationship() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]   --> src/chapter3/example3_spawning_happens_before_relationship.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn f() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `X` is never used
[INFO] [stdout]  --> src/chapter3/example4_basic_relaxed_ordering.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | static X: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example5_basic_relaxed_ordering` is never used
[INFO] [stdout]  --> src/chapter3/example4_basic_relaxed_ordering.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn example5_basic_relaxed_ordering() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `a` is never used
[INFO] [stdout]   --> src/chapter3/example4_basic_relaxed_ordering.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn a() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `b` is never used
[INFO] [stdout]   --> src/chapter3/example4_basic_relaxed_ordering.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn b() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `X` is never used
[INFO] [stdout]  --> src/chapter3/example5_out_of_thin_air_values_cyclic_dependencies.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static X: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `Y` is never used
[INFO] [stdout]  --> src/chapter3/example5_out_of_thin_air_values_cyclic_dependencies.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static Y: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example2_out_of_thin_air_values_cyclic_dependencies` is never used
[INFO] [stdout]  --> src/chapter3/example5_out_of_thin_air_values_cyclic_dependencies.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn example2_out_of_thin_air_values_cyclic_dependencies() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DATA` is never used
[INFO] [stdout]   --> src/chapter3/example6_release_acquire_ordering.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | static DATA: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `READY` is never used
[INFO] [stdout]   --> src/chapter3/example6_release_acquire_ordering.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | static READY: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example6_release_acquire_ordering` is never used
[INFO] [stdout]   --> src/chapter3/example6_release_acquire_ordering.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn example6_release_acquire_ordering() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example6_same_example_in_relaxed_ordering` is never used
[INFO] [stdout]   --> src/chapter3/example6_release_acquire_ordering.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn example6_same_example_in_relaxed_ordering() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DATA` is never used
[INFO] [stdout]  --> src/chapter3/example7_release_acquire_unsafe.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | static mut DATA: u64 = 0;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `READY` is never used
[INFO] [stdout]  --> src/chapter3/example7_release_acquire_unsafe.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | static READY: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example7_release_acquire_unsafe` is never used
[INFO] [stdout]   --> src/chapter3/example7_release_acquire_unsafe.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn example7_release_acquire_unsafe() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DATA` is never used
[INFO] [stdout]  --> src/chapter3/example8_release_acquire_locking_unsafe.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | static mut DATA: String = String::new();
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WAITER_COUNT` is never used
[INFO] [stdout]  --> src/chapter3/example8_release_acquire_locking_unsafe.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | static mut WAITER_COUNT: u64 = 0;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LOCKED` is never used
[INFO] [stdout]  --> src/chapter3/example8_release_acquire_locking_unsafe.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | static LOCKED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example8_release_acquire_locking_unsafe` is never used
[INFO] [stdout]  --> src/chapter3/example8_release_acquire_locking_unsafe.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn example8_release_acquire_locking_unsafe() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]   --> src/chapter3/example8_release_acquire_locking_unsafe.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn f() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TOTAL_LOCKS` is never used
[INFO] [stdout]  --> src/chapter3/example9_release_acquire_lazy_init.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | static mut TOTAL_LOCKS: u32 = 0;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Data` is never constructed
[INFO] [stdout]  --> src/chapter3/example9_release_acquire_lazy_init.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Data {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example9_release_acquire_lazy_init` is never used
[INFO] [stdout]   --> src/chapter3/example9_release_acquire_lazy_init.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn example9_release_acquire_lazy_init() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_data` is never used
[INFO] [stdout]   --> src/chapter3/example9_release_acquire_lazy_init.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn get_data() -> &'static Data {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_data` is never used
[INFO] [stdout]   --> src/chapter3/example9_release_acquire_lazy_init.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn generate_data() -> Data {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/chapter3/example9_release_acquire_lazy_init.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |         for i in 0..num_spawns {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |             unsafe { S.push('!') };
[INFO] [stdout]    |                      ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 |             unsafe { S.push('?') };
[INFO] [stdout]    |                      ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 |     println!("{}", unsafe { S.to_string() });
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:36:22
[INFO] [stdout]    |
[INFO] [stdout] 36 |             unsafe { S.push('!') };
[INFO] [stdout]    |                      ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |             unsafe { S.push('?') };
[INFO] [stdout]    |                      ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 49 |     println!("{}", unsafe { S.to_string() });
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/chapter3/example8_release_acquire_locking_unsafe.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 |     println!("DATA: {}", unsafe { DATA.len() });
[INFO] [stdout]    |                                   ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter3/example8_release_acquire_locking_unsafe.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |         unsafe { DATA.push('!') };
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example1_basic_spawn` is never used
[INFO] [stdout]  --> src/chapter1/example1_basic_spawn.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example1_basic_spawn() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]   --> src/chapter1/example1_basic_spawn.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn f() {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example2_basic_spawn_join` is never used
[INFO] [stdout]  --> src/chapter1/example2_basic_spawn_join.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example2_basic_spawn_join() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]   --> src/chapter1/example2_basic_spawn_join.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn f() {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example3_basic_spawn_closure` is never used
[INFO] [stdout]  --> src/chapter1/example3_basic_spawn_closure.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example3_basic_spawn_closure() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]   --> src/chapter1/example3_basic_spawn_closure.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn f() {
[INFO] [stdout]    |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example4_basic_spawn_return` is never used
[INFO] [stdout]  --> src/chapter1/example4_basic_spawn_return.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example4_basic_spawn_return() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example5_basic_spawn_scoped` is never used
[INFO] [stdout]  --> src/chapter1/example5_basic_spawn_scoped.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example5_basic_spawn_scoped() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example6_shared_ownership_rc` is never used
[INFO] [stdout]  --> src/chapter1/example6_shared_ownership_rc.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn example6_shared_ownership_rc() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example7_shared_ownership_arc` is never used
[INFO] [stdout]  --> src/chapter1/example7_shared_ownership_arc.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn example7_shared_ownership_arc() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example7_shared_ownership_arc_shadowing_suggested` is never used
[INFO] [stdout]   --> src/chapter1/example7_shared_ownership_arc.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn example7_shared_ownership_arc_shadowing_suggested() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example8_main` is never used
[INFO] [stdout]  --> src/chapter1/example8_borrowing_data_races_intro.rs:1:8
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub fn example8_main() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]  --> src/chapter1/example8_borrowing_data_races_intro.rs:8:4
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn f(a: &i32, b: &mut i32) {
[INFO] [stdout]   |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example1_basic_atomic_load_store_stop_flag` is never used
[INFO] [stdout]  --> src/chapter2/example1_basic_atomic_load_store_stop_flag.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn example1_basic_atomic_load_store_stop_flag() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `some_work` is never used
[INFO] [stdout]   --> src/chapter2/example1_basic_atomic_load_store_stop_flag.rs:39:4
[INFO] [stdout]    |
[INFO] [stdout] 39 | fn some_work() -> i32 {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example2_basic_atomics_progress_reporting` is never used
[INFO] [stdout]  --> src/chapter2/example2_basic_atomics_progress_reporting.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn example2_basic_atomics_progress_reporting() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_item` is never used
[INFO] [stdout]   --> src/chapter2/example2_basic_atomics_progress_reporting.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn process_item(i: usize) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example3_basic_atomics_sync` is never used
[INFO] [stdout]  --> src/chapter2/example3_basic_atomics_sync.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn example3_basic_atomics_sync() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_item` is never used
[INFO] [stdout]   --> src/chapter2/example3_basic_atomics_sync.rs:34:4
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn process_item(i: usize) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example4_basic_atomics_lazy_init` is never used
[INFO] [stdout]  --> src/chapter2/example4_basic_atomics_lazy_init.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn example4_basic_atomics_lazy_init() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_x` is never used
[INFO] [stdout]   --> src/chapter2/example4_basic_atomics_lazy_init.rs:14:4
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn calculate_x() -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example_5_progress_reporting_multiple_threads_fetch_add` is never used
[INFO] [stdout]  --> src/chapter2/example5_progress_reporting_multiple_threads_fetch_add.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn example_5_progress_reporting_multiple_threads_fetch_add() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_item` is never used
[INFO] [stdout]   --> src/chapter2/example5_progress_reporting_multiple_threads_fetch_add.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn process_item(_i: usize) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example6_statistics_with_fetch_ops` is never used
[INFO] [stdout]  --> src/chapter2/example6_statistics_with_fetch_ops.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn example6_statistics_with_fetch_ops() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_item` is never used
[INFO] [stdout]   --> src/chapter2/example6_statistics_with_fetch_ops.rs:50:4
[INFO] [stdout]    |
[INFO] [stdout] 50 | fn process_item(_i: usize) -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_new_id_iter1` is never used
[INFO] [stdout]  --> src/chapter2/example7_id_allocation_using_fetch.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn allocate_new_id_iter1() -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_new_id_iter2` is never used
[INFO] [stdout]   --> src/chapter2/example7_id_allocation_using_fetch.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn allocate_new_id_iter2() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_new_id_iter3` is never used
[INFO] [stdout]   --> src/chapter2/example7_id_allocation_using_fetch.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub fn allocate_new_id_iter3() -> u32 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_new_id` is never used
[INFO] [stdout]  --> src/chapter2/example8_compare_exchange.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn allocate_new_id() -> u32 {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `KEY` is never used
[INFO] [stdout]  --> src/chapter2/example9_compare_exchange_lazy_init.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static KEY: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TOTAL_KEY_GENS` is never used
[INFO] [stdout]  --> src/chapter2/example9_compare_exchange_lazy_init.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static TOTAL_KEY_GENS: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]   |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example9_compare_exchange_lazy_init` is never used
[INFO] [stdout]  --> src/chapter2/example9_compare_exchange_lazy_init.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn example9_compare_exchange_lazy_init() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `thread_getting_key` is never used
[INFO] [stdout]   --> src/chapter2/example9_compare_exchange_lazy_init.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn thread_getting_key() -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_random_key` is never used
[INFO] [stdout]   --> src/chapter2/example9_compare_exchange_lazy_init.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn generate_random_key() -> u64 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `A` is never used
[INFO] [stdout]  --> src/chapter3/example10_sequantially_consistent_ordering.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static A: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `B` is never used
[INFO] [stdout]  --> src/chapter3/example10_sequantially_consistent_ordering.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | static B: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `S` is never used
[INFO] [stdout]  --> src/chapter3/example10_sequantially_consistent_ordering.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | static mut S: String = String::new();
[INFO] [stdout]   |            ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example10_sequantially_consistent_ordering` is never used
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn example10_sequantially_consistent_ordering() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example10_sequantially_consistent_ordering_no_print` is never used
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:31:8
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn example10_sequantially_consistent_ordering_no_print() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `X` is never used
[INFO] [stdout]  --> src/chapter3/example1_relaxted_ordering.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static X: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example1_relaxted_ordering` is never used
[INFO] [stdout]  --> src/chapter3/example1_relaxted_ordering.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn example1_relaxted_ordering() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add` is never used
[INFO] [stdout]   --> src/chapter3/example1_relaxted_ordering.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn add(val: i32) {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read` is never used
[INFO] [stdout]   --> src/chapter3/example1_relaxted_ordering.rs:28:4
[INFO] [stdout]    |
[INFO] [stdout] 28 | fn read() {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `X` is never used
[INFO] [stdout]  --> src/chapter3/example2_basic_happens_before_relationship_within_thread.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | static X: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `Y` is never used
[INFO] [stdout]  --> src/chapter3/example2_basic_happens_before_relationship_within_thread.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static Y: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example3_basic_happens_before_relationship_within_thread` is never used
[INFO] [stdout]  --> src/chapter3/example2_basic_happens_before_relationship_within_thread.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn example3_basic_happens_before_relationship_within_thread() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `a` is never used
[INFO] [stdout]   --> src/chapter3/example2_basic_happens_before_relationship_within_thread.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn a() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `b` is never used
[INFO] [stdout]   --> src/chapter3/example2_basic_happens_before_relationship_within_thread.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn b() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `X` is never used
[INFO] [stdout]  --> src/chapter3/example3_spawning_happens_before_relationship.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static X: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example4_spawning_happens_before_relationship` is never used
[INFO] [stdout]  --> src/chapter3/example3_spawning_happens_before_relationship.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn example4_spawning_happens_before_relationship() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]   --> src/chapter3/example3_spawning_happens_before_relationship.rs:15:4
[INFO] [stdout]    |
[INFO] [stdout] 15 | fn f() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `X` is never used
[INFO] [stdout]  --> src/chapter3/example4_basic_relaxed_ordering.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | static X: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example5_basic_relaxed_ordering` is never used
[INFO] [stdout]  --> src/chapter3/example4_basic_relaxed_ordering.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn example5_basic_relaxed_ordering() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `a` is never used
[INFO] [stdout]   --> src/chapter3/example4_basic_relaxed_ordering.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn a() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `b` is never used
[INFO] [stdout]   --> src/chapter3/example4_basic_relaxed_ordering.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn b() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `X` is never used
[INFO] [stdout]  --> src/chapter3/example5_out_of_thin_air_values_cyclic_dependencies.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | static X: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `Y` is never used
[INFO] [stdout]  --> src/chapter3/example5_out_of_thin_air_values_cyclic_dependencies.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | static Y: AtomicI32 = AtomicI32::new(0);
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example2_out_of_thin_air_values_cyclic_dependencies` is never used
[INFO] [stdout]  --> src/chapter3/example5_out_of_thin_air_values_cyclic_dependencies.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn example2_out_of_thin_air_values_cyclic_dependencies() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DATA` is never used
[INFO] [stdout]   --> src/chapter3/example6_release_acquire_ordering.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | static DATA: AtomicU64 = AtomicU64::new(0);
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `READY` is never used
[INFO] [stdout]   --> src/chapter3/example6_release_acquire_ordering.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 | static READY: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example6_release_acquire_ordering` is never used
[INFO] [stdout]   --> src/chapter3/example6_release_acquire_ordering.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn example6_release_acquire_ordering() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example6_same_example_in_relaxed_ordering` is never used
[INFO] [stdout]   --> src/chapter3/example6_release_acquire_ordering.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn example6_same_example_in_relaxed_ordering() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DATA` is never used
[INFO] [stdout]  --> src/chapter3/example7_release_acquire_unsafe.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | static mut DATA: u64 = 0;
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `READY` is never used
[INFO] [stdout]  --> src/chapter3/example7_release_acquire_unsafe.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | static READY: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example7_release_acquire_unsafe` is never used
[INFO] [stdout]   --> src/chapter3/example7_release_acquire_unsafe.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn example7_release_acquire_unsafe() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `DATA` is never used
[INFO] [stdout]  --> src/chapter3/example8_release_acquire_locking_unsafe.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | static mut DATA: String = String::new();
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `WAITER_COUNT` is never used
[INFO] [stdout]  --> src/chapter3/example8_release_acquire_locking_unsafe.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | static mut WAITER_COUNT: u64 = 0;
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `LOCKED` is never used
[INFO] [stdout]  --> src/chapter3/example8_release_acquire_locking_unsafe.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | static LOCKED: AtomicBool = AtomicBool::new(false);
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example8_release_acquire_locking_unsafe` is never used
[INFO] [stdout]  --> src/chapter3/example8_release_acquire_locking_unsafe.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn example8_release_acquire_locking_unsafe() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `f` is never used
[INFO] [stdout]   --> src/chapter3/example8_release_acquire_locking_unsafe.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn f() {
[INFO] [stdout]    |    ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `TOTAL_LOCKS` is never used
[INFO] [stdout]  --> src/chapter3/example9_release_acquire_lazy_init.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | static mut TOTAL_LOCKS: u32 = 0;
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Data` is never constructed
[INFO] [stdout]  --> src/chapter3/example9_release_acquire_lazy_init.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Data {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `example9_release_acquire_lazy_init` is never used
[INFO] [stdout]   --> src/chapter3/example9_release_acquire_lazy_init.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn example9_release_acquire_lazy_init() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_data` is never used
[INFO] [stdout]   --> src/chapter3/example9_release_acquire_lazy_init.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn get_data() -> &'static Data {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_data` is never used
[INFO] [stdout]   --> src/chapter3/example9_release_acquire_lazy_init.rs:51:4
[INFO] [stdout]    |
[INFO] [stdout] 51 | fn generate_data() -> Data {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |             unsafe { S.push('!') };
[INFO] [stdout]    |                      ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:22:22
[INFO] [stdout]    |
[INFO] [stdout] 22 |             unsafe { S.push('?') };
[INFO] [stdout]    |                      ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:28:29
[INFO] [stdout]    |
[INFO] [stdout] 28 |     println!("{}", unsafe { S.to_string() });
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:36:22
[INFO] [stdout]    |
[INFO] [stdout] 36 |             unsafe { S.push('!') };
[INFO] [stdout]    |                      ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:43:22
[INFO] [stdout]    |
[INFO] [stdout] 43 |             unsafe { S.push('?') };
[INFO] [stdout]    |                      ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/chapter3/example10_sequantially_consistent_ordering.rs:49:29
[INFO] [stdout]    |
[INFO] [stdout] 49 |     println!("{}", unsafe { S.to_string() });
[INFO] [stdout]    |                             ^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/chapter3/example8_release_acquire_locking_unsafe.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 |     println!("DATA: {}", unsafe { DATA.len() });
[INFO] [stdout]    |                                   ^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/chapter3/example8_release_acquire_locking_unsafe.rs:30:18
[INFO] [stdout]    |
[INFO] [stdout] 30 |         unsafe { DATA.push('!') };
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.64s
[INFO] running `Command { std: "docker" "inspect" "c4f2ddf62104b89de154f16226e56f4f6a582631725652c7ab0ccb1ab923a60b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4f2ddf62104b89de154f16226e56f4f6a582631725652c7ab0ccb1ab923a60b", kill_on_drop: false }`
[INFO] [stdout] c4f2ddf62104b89de154f16226e56f4f6a582631725652c7ab0ccb1ab923a60b
