[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] building cantoramann/rust-atomics against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcantoramann%2Frust-atomics" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/cantoramann/rust-atomics on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-3-tc1/source/Cargo.toml [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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7f1e5ce291ae6dfb946a71c2733198a93260e31350f8370e34e07933086c567a [INFO] running `Command { std: "docker" "start" "-a" "7f1e5ce291ae6dfb946a71c2733198a93260e31350f8370e34e07933086c567a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7f1e5ce291ae6dfb946a71c2733198a93260e31350f8370e34e07933086c567a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7f1e5ce291ae6dfb946a71c2733198a93260e31350f8370e34e07933086c567a", kill_on_drop: false }` [INFO] [stdout] 7f1e5ce291ae6dfb946a71c2733198a93260e31350f8370e34e07933086c567a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8c87a20e3bdc1a63449d62d6f8ff130fd4222f9003eaa31c4c953a6139026d64 [INFO] running `Command { std: "docker" "start" "-a" "8c87a20e3bdc1a63449d62d6f8ff130fd4222f9003eaa31c4c953a6139026d64", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling getrandom v0.2.12 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling 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)]` 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)]` 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)]` 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 is discouraged [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 [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [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 [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 is discouraged [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 [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 is discouraged [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 [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 is discouraged [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 [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 is discouraged [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 [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 is discouraged [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 [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 is discouraged [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 [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 1.51s [INFO] running `Command { std: "docker" "inspect" "8c87a20e3bdc1a63449d62d6f8ff130fd4222f9003eaa31c4c953a6139026d64", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8c87a20e3bdc1a63449d62d6f8ff130fd4222f9003eaa31c4c953a6139026d64", kill_on_drop: false }` [INFO] [stdout] 8c87a20e3bdc1a63449d62d6f8ff130fd4222f9003eaa31c4c953a6139026d64 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 343e46d4cf74c0f3d9a7c3873a4f2c765639d6775e27b35ba5de961f1158c343 [INFO] running `Command { std: "docker" "start" "-a" "343e46d4cf74c0f3d9a7c3873a4f2c765639d6775e27b35ba5de961f1158c343", kill_on_drop: false }` [INFO] [stderr] Compiling 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)]` 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)]` 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)]` 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 is discouraged [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 [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)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged [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 [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 is discouraged [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 [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 is discouraged [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 [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 is discouraged [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 [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 is discouraged [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 [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 is discouraged [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 [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 is discouraged [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 [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 `test` profile [unoptimized + debuginfo] target(s) in 0.17s [INFO] running `Command { std: "docker" "inspect" "343e46d4cf74c0f3d9a7c3873a4f2c765639d6775e27b35ba5de961f1158c343", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "343e46d4cf74c0f3d9a7c3873a4f2c765639d6775e27b35ba5de961f1158c343", kill_on_drop: false }` [INFO] [stdout] 343e46d4cf74c0f3d9a7c3873a4f2c765639d6775e27b35ba5de961f1158c343