[INFO] fetching crate rater 0.1.1... [INFO] testing rater-0.1.1 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate rater 0.1.1 into /workspace/builds/worker-2-tc1/source [INFO] started tweaking crates.io crate rater 0.1.1 [INFO] finished tweaking crates.io crate rater 0.1.1 [INFO] tweaked toml for crates.io crate rater 0.1.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rater 0.1.1 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rater 0.1.1 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" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2246e5f211ff3fa86b44f33cd2211f4d88d56ec5005e0ae62249a5daae5be48b [INFO] running `Command { std: "docker" "start" "-a" "2246e5f211ff3fa86b44f33cd2211f4d88d56ec5005e0ae62249a5daae5be48b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2246e5f211ff3fa86b44f33cd2211f4d88d56ec5005e0ae62249a5daae5be48b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2246e5f211ff3fa86b44f33cd2211f4d88d56ec5005e0ae62249a5daae5be48b", kill_on_drop: false }` [INFO] [stdout] 2246e5f211ff3fa86b44f33cd2211f4d88d56ec5005e0ae62249a5daae5be48b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] be7d72b857a9820cf0f29a733a2691c49f4bc6047f42992f7e64b613b1f068dc [INFO] running `Command { std: "docker" "start" "-a" "be7d72b857a9820cf0f29a733a2691c49f4bc6047f42992f7e64b613b1f068dc", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling rater v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `MAX_REFILL_PERIODS` [INFO] [stdout] --> src/rate_limiter/mod.rs:64:53 [INFO] [stdout] | [INFO] [stdout] 64 | pub use config::{MemoryOrdering, RateLimiterConfig, MAX_REFILL_PERIODS}; [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 variable: `n` [INFO] [stdout] --> src/rate_limiter/core.rs:669:28 [INFO] [stdout] | [INFO] [stdout] 669 | fn on_rejection(&self, n: u64) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TokenOps` is never used [INFO] [stdout] --> src/rate_limiter/core.rs:97:7 [INFO] [stdout] | [INFO] [stdout] 97 | trait TokenOps { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CACHE_LINE_SIZE` is never used [INFO] [stdout] --> src/rate_limiter/utils.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | pub const CACHE_LINE_SIZE: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get`, `get_mut`, and `into_inner` are never used [INFO] [stdout] --> src/rate_limiter/utils.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 228 | impl CacheAligned { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn get(&self) -> &T { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn get_mut(&mut self) -> &mut T { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn into_inner(self) -> T { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Backoff` is never constructed [INFO] [stdout] --> src/rate_limiter/utils.rs:291:19 [INFO] [stdout] | [INFO] [stdout] 291 | pub(crate) struct Backoff { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `backoff`, `reset`, and `is_at_max` are never used [INFO] [stdout] --> src/rate_limiter/utils.rs:300:12 [INFO] [stdout] | [INFO] [stdout] 298 | impl Backoff { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 299 | /// Creates a new backoff helper with specified maximum steps. [INFO] [stdout] 300 | pub fn new(max_step: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | pub fn backoff(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | pub fn is_at_max(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `likely` is never used [INFO] [stdout] --> src/rate_limiter/utils.rs:343:15 [INFO] [stdout] | [INFO] [stdout] 343 | pub(crate) fn likely(b: bool) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unlikely` is never used [INFO] [stdout] --> src/rate_limiter/utils.rs:354:15 [INFO] [stdout] | [INFO] [stdout] 354 | pub(crate) fn unlikely(b: bool) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/mod.rs:64:53 [INFO] [stdout] | [INFO] [stdout] 64 | pub use config::{MemoryOrdering, RateLimiterConfig, MAX_REFILL_PERIODS}; [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(crate)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | unreachable_pub, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/config.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub const MAX_REFILL_PERIODS: u64 = 100; [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(crate)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | pub const CACHE_LINE_SIZE: usize = 64; [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:231:5 [INFO] [stdout] | [INFO] [stdout] 231 | pub const fn new(value: T) -> Self { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | pub fn get(&self) -> &T { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn get_mut(&mut self) -> &mut T { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn into_inner(self) -> T { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 300 | pub fn new(max_step: u32) -> Self { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | pub fn backoff(&mut self) { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | pub fn reset(&mut self) { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | pub fn is_at_max(&self) -> bool { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.84s [INFO] running `Command { std: "docker" "inspect" "be7d72b857a9820cf0f29a733a2691c49f4bc6047f42992f7e64b613b1f068dc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "be7d72b857a9820cf0f29a733a2691c49f4bc6047f42992f7e64b613b1f068dc", kill_on_drop: false }` [INFO] [stdout] be7d72b857a9820cf0f29a733a2691c49f4bc6047f42992f7e64b613b1f068dc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9b1e244eaf6f0daf5140429145e7beefb6303c0e9b524222fcb35ab470734376 [INFO] running `Command { std: "docker" "start" "-a" "9b1e244eaf6f0daf5140429145e7beefb6303c0e9b524222fcb35ab470734376", kill_on_drop: false }` [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling clap_builder v4.5.42 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling criterion-plot v0.6.0 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling clap v4.5.42 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling tracing-attributes v0.1.30 [INFO] [stderr] Compiling tracing v0.1.41 [INFO] [stderr] Compiling rater v0.1.1 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `MAX_REFILL_PERIODS` [INFO] [stdout] --> src/rate_limiter/mod.rs:64:53 [INFO] [stdout] | [INFO] [stdout] 64 | pub use config::{MemoryOrdering, RateLimiterConfig, MAX_REFILL_PERIODS}; [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 variable: `n` [INFO] [stdout] --> src/rate_limiter/core.rs:669:28 [INFO] [stdout] | [INFO] [stdout] 669 | fn on_rejection(&self, n: u64) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TokenOps` is never used [INFO] [stdout] --> src/rate_limiter/core.rs:97:7 [INFO] [stdout] | [INFO] [stdout] 97 | trait TokenOps { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CACHE_LINE_SIZE` is never used [INFO] [stdout] --> src/rate_limiter/utils.rs:37:11 [INFO] [stdout] | [INFO] [stdout] 37 | pub const CACHE_LINE_SIZE: usize = 64; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get`, `get_mut`, and `into_inner` are never used [INFO] [stdout] --> src/rate_limiter/utils.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 228 | impl CacheAligned { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 237 | pub fn get(&self) -> &T { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn get_mut(&mut self) -> &mut T { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 249 | pub fn into_inner(self) -> T { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Backoff` is never constructed [INFO] [stdout] --> src/rate_limiter/utils.rs:291:19 [INFO] [stdout] | [INFO] [stdout] 291 | pub(crate) struct Backoff { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `backoff`, `reset`, and `is_at_max` are never used [INFO] [stdout] --> src/rate_limiter/utils.rs:300:12 [INFO] [stdout] | [INFO] [stdout] 298 | impl Backoff { [INFO] [stdout] | ------------ associated items in this implementation [INFO] [stdout] 299 | /// Creates a new backoff helper with specified maximum steps. [INFO] [stdout] 300 | pub fn new(max_step: u32) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | pub fn backoff(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 325 | pub fn reset(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 331 | pub fn is_at_max(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `likely` is never used [INFO] [stdout] --> src/rate_limiter/utils.rs:343:15 [INFO] [stdout] | [INFO] [stdout] 343 | pub(crate) fn likely(b: bool) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unlikely` is never used [INFO] [stdout] --> src/rate_limiter/utils.rs:354:15 [INFO] [stdout] | [INFO] [stdout] 354 | pub(crate) fn unlikely(b: bool) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/mod.rs:64:53 [INFO] [stdout] | [INFO] [stdout] 64 | pub use config::{MemoryOrdering, RateLimiterConfig, MAX_REFILL_PERIODS}; [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(crate)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | unreachable_pub, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/config.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub const MAX_REFILL_PERIODS: u64 = 100; [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(crate)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | pub const CACHE_LINE_SIZE: usize = 64; [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:231:5 [INFO] [stdout] | [INFO] [stdout] 231 | pub const fn new(value: T) -> Self { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | pub fn get(&self) -> &T { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn get_mut(&mut self) -> &mut T { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn into_inner(self) -> T { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 300 | pub fn new(max_step: u32) -> Self { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | pub fn backoff(&mut self) { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | pub fn reset(&mut self) { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | pub fn is_at_max(&self) -> bool { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling serde_json v1.0.142 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling criterion v0.7.0 [INFO] [stdout] warning: unused import: `MAX_REFILL_PERIODS` [INFO] [stdout] --> src/rate_limiter/mod.rs:64:53 [INFO] [stdout] | [INFO] [stdout] 64 | pub use config::{MemoryOrdering, RateLimiterConfig, MAX_REFILL_PERIODS}; [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 variable: `n` [INFO] [stdout] --> src/rate_limiter/core.rs:669:28 [INFO] [stdout] | [INFO] [stdout] 669 | fn on_rejection(&self, n: u64) { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TokenOps` is never used [INFO] [stdout] --> src/rate_limiter/core.rs:97:7 [INFO] [stdout] | [INFO] [stdout] 97 | trait TokenOps { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/mod.rs:64:53 [INFO] [stdout] | [INFO] [stdout] 64 | pub use config::{MemoryOrdering, RateLimiterConfig, MAX_REFILL_PERIODS}; [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(crate)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:176:5 [INFO] [stdout] | [INFO] [stdout] 176 | unreachable_pub, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/config.rs:44:1 [INFO] [stdout] | [INFO] [stdout] 44 | pub const MAX_REFILL_PERIODS: u64 = 100; [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(crate)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | pub const CACHE_LINE_SIZE: usize = 64; [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:231:5 [INFO] [stdout] | [INFO] [stdout] 231 | pub const fn new(value: T) -> Self { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | pub fn get(&self) -> &T { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:243:5 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn get_mut(&mut self) -> &mut T { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | pub fn into_inner(self) -> T { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:300:5 [INFO] [stdout] | [INFO] [stdout] 300 | pub fn new(max_step: u32) -> Self { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:310:5 [INFO] [stdout] | [INFO] [stdout] 310 | pub fn backoff(&mut self) { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:325:5 [INFO] [stdout] | [INFO] [stdout] 325 | pub fn reset(&mut self) { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/rate_limiter/utils.rs:331:5 [INFO] [stdout] | [INFO] [stdout] 331 | pub fn is_at_max(&self) -> bool { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(super)` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 43.61s [INFO] running `Command { std: "docker" "inspect" "9b1e244eaf6f0daf5140429145e7beefb6303c0e9b524222fcb35ab470734376", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9b1e244eaf6f0daf5140429145e7beefb6303c0e9b524222fcb35ab470734376", kill_on_drop: false }` [INFO] [stdout] 9b1e244eaf6f0daf5140429145e7beefb6303c0e9b524222fcb35ab470734376 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5636710db96ed24e93955a496837f6eb513e0d1ed711adfefa57abe4028de576 [INFO] running `Command { std: "docker" "start" "-a" "5636710db96ed24e93955a496837f6eb513e0d1ed711adfefa57abe4028de576", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `MAX_REFILL_PERIODS` [INFO] [stderr] --> src/rate_limiter/mod.rs:64:53 [INFO] [stderr] | [INFO] [stderr] 64 | pub use config::{MemoryOrdering, RateLimiterConfig, MAX_REFILL_PERIODS}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/rate_limiter/core.rs:669:28 [INFO] [stderr] | [INFO] [stderr] 669 | fn on_rejection(&self, n: u64) { [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: trait `TokenOps` is never used [INFO] [stderr] --> src/rate_limiter/core.rs:97:7 [INFO] [stderr] | [INFO] [stderr] 97 | trait TokenOps { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `CACHE_LINE_SIZE` is never used [INFO] [stderr] --> src/rate_limiter/utils.rs:37:11 [INFO] [stderr] | [INFO] [stderr] 37 | pub const CACHE_LINE_SIZE: usize = 64; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `get`, `get_mut`, and `into_inner` are never used [INFO] [stderr] --> src/rate_limiter/utils.rs:237:12 [INFO] [stderr] | [INFO] [stderr] 228 | impl CacheAligned { [INFO] [stderr] | ----------------------- methods in this implementation [INFO] [stderr] ... [INFO] [stderr] 237 | pub fn get(&self) -> &T { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 243 | pub fn get_mut(&mut self) -> &mut T { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 249 | pub fn into_inner(self) -> T { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Backoff` is never constructed [INFO] [stderr] --> src/rate_limiter/utils.rs:291:19 [INFO] [stderr] | [INFO] [stderr] 291 | pub(crate) struct Backoff { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated items `new`, `backoff`, `reset`, and `is_at_max` are never used [INFO] [stderr] --> src/rate_limiter/utils.rs:300:12 [INFO] [stderr] | [INFO] [stderr] 298 | impl Backoff { [INFO] [stderr] | ------------ associated items in this implementation [INFO] [stderr] 299 | /// Creates a new backoff helper with specified maximum steps. [INFO] [stderr] 300 | pub fn new(max_step: u32) -> Self { [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 310 | pub fn backoff(&mut self) { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 325 | pub fn reset(&mut self) { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 331 | pub fn is_at_max(&self) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `likely` is never used [INFO] [stderr] --> src/rate_limiter/utils.rs:343:15 [INFO] [stderr] | [INFO] [stderr] 343 | pub(crate) fn likely(b: bool) -> bool { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `unlikely` is never used [INFO] [stderr] --> src/rate_limiter/utils.rs:354:15 [INFO] [stderr] | [INFO] [stderr] 354 | pub(crate) fn unlikely(b: bool) -> bool { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable `pub` item [INFO] [stderr] --> src/rate_limiter/mod.rs:64:53 [INFO] [stderr] | [INFO] [stderr] 64 | pub use config::{MemoryOrdering, RateLimiterConfig, MAX_REFILL_PERIODS}; [INFO] [stderr] | --- ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: consider restricting its visibility: `pub(crate)` [INFO] [stderr] | [INFO] [stderr] = help: or consider exporting it for use by other crates [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:176:5 [INFO] [stderr] | [INFO] [stderr] 176 | unreachable_pub, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable `pub` item [INFO] [stderr] --> src/rate_limiter/config.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | pub const MAX_REFILL_PERIODS: u64 = 100; [INFO] [stderr] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: consider restricting its visibility: `pub(crate)` [INFO] [stderr] | [INFO] [stderr] = help: or consider exporting it for use by other crates [INFO] [stderr] [INFO] [stderr] warning: unreachable `pub` item [INFO] [stderr] --> src/rate_limiter/utils.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | pub const CACHE_LINE_SIZE: usize = 64; [INFO] [stderr] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: consider restricting its visibility: `pub(super)` [INFO] [stderr] | [INFO] [stderr] = help: or consider exporting it for use by other crates [INFO] [stderr] [INFO] [stderr] warning: unreachable `pub` item [INFO] [stderr] --> src/rate_limiter/utils.rs:231:5 [INFO] [stderr] | [INFO] [stderr] 231 | pub const fn new(value: T) -> Self { [INFO] [stderr] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: consider restricting its visibility: `pub(super)` [INFO] [stderr] [INFO] [stderr] warning: unreachable `pub` item [INFO] [stderr] --> src/rate_limiter/utils.rs:237:5 [INFO] [stderr] | [INFO] [stderr] 237 | pub fn get(&self) -> &T { [INFO] [stderr] | ---^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: consider restricting its visibility: `pub(super)` [INFO] [stderr] [INFO] [stderr] warning: unreachable `pub` item [INFO] [stderr] --> src/rate_limiter/utils.rs:243:5 [INFO] [stderr] | [INFO] [stderr] 243 | pub fn get_mut(&mut self) -> &mut T { [INFO] [stderr] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: consider restricting its visibility: `pub(super)` [INFO] [stderr] [INFO] [stderr] warning: unreachable `pub` item [INFO] [stderr] --> src/rate_limiter/utils.rs:249:5 [INFO] [stderr] | [INFO] [stderr] 249 | pub fn into_inner(self) -> T { [INFO] [stderr] | ---^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: consider restricting its visibility: `pub(super)` [INFO] [stderr] [INFO] [stderr] warning: unreachable `pub` item [INFO] [stderr] --> src/rate_limiter/utils.rs:300:5 [INFO] [stderr] | [INFO] [stderr] 300 | pub fn new(max_step: u32) -> Self { [INFO] [stderr] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: consider restricting its visibility: `pub(super)` [INFO] [stderr] [INFO] [stderr] warning: unreachable `pub` item [INFO] [stderr] --> src/rate_limiter/utils.rs:310:5 [INFO] [stderr] | [INFO] [stderr] 310 | pub fn backoff(&mut self) { [INFO] [stderr] | ---^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: consider restricting its visibility: `pub(super)` [INFO] [stderr] [INFO] [stderr] warning: unreachable `pub` item [INFO] [stderr] --> src/rate_limiter/utils.rs:325:5 [INFO] [stderr] | [INFO] [stderr] 325 | pub fn reset(&mut self) { [INFO] [stderr] | ---^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: consider restricting its visibility: `pub(super)` [INFO] [stderr] [INFO] [stderr] warning: unreachable `pub` item [INFO] [stderr] --> src/rate_limiter/utils.rs:331:5 [INFO] [stderr] | [INFO] [stderr] 331 | pub fn is_at_max(&self) -> bool { [INFO] [stderr] | ---^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: consider restricting its visibility: `pub(super)` [INFO] [stderr] [INFO] [stderr] warning: `rater` (lib) generated 20 warnings (run `cargo fix --lib -p rater` to apply 12 suggestions) [INFO] [stderr] warning: `rater` (lib test) generated 14 warnings (14 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.13s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rater-2487a8124fd87e9c) [INFO] [stdout] [INFO] [stdout] running 70 tests [INFO] [stdout] test rate_limiter::config::tests::test_config_validation_edge_cases ... ok [INFO] [stdout] test rate_limiter::config::tests::test_config_with_burst_multiplier ... ok [INFO] [stdout] test rate_limiter::config::tests::test_config_with_ordering ... ok [INFO] [stdout] test rate_limiter::config::tests::test_default_memory_ordering ... ok [INFO] [stdout] test rate_limiter::config::tests::test_memory_ordering ... ok [INFO] [stdout] test rate_limiter::config::tests::test_memory_ordering_all_variants ... ok [INFO] [stdout] test rate_limiter::core::tests::test_acquire_more_than_max ... ok [INFO] [stdout] test rate_limiter::config::tests::test_config_per_minute ... ok [INFO] [stdout] test rate_limiter::core::tests::test_bulk_acquisition ... ok [INFO] [stdout] test rate_limiter::core::tests::test_add_tokens ... ok [INFO] [stdout] test rate_limiter::core::tests::test_acquire_zero_tokens ... ok [INFO] [stdout] test rate_limiter::config::tests::test_config_builders ... ok [INFO] [stdout] test rate_limiter::config::tests::test_config_validation ... ok [INFO] [stdout] test rate_limiter::core::tests::test_basic_acquisition ... ok [INFO] [stdout] test rate_limiter::core::tests::test_cas_retry_exhaustion ... ok [INFO] [stdout] test rate_limiter::core::tests::test_debug_impl ... ok [INFO] [stdout] test rate_limiter::core::tests::test_max_wait_time_tracking ... ok [INFO] [stdout] test rate_limiter::core::tests::test_overflow_protection ... ok [INFO] [stdout] test rate_limiter::core::tests::test_reset ... ok [INFO] [stdout] test rate_limiter::core::tests::test_sustained_pressure ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_basic_ip_limiting ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_capacity_limit ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_cleanup_guard_drop ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_clear ... ok [INFO] [stdout] test rate_limiter::core::tests::test_last_access_update_throttling ... ok [INFO] [stdout] test rate_limiter::core::tests::test_is_inactive ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_cleanup_with_active_limiters ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_cleanup_thread ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_concurrent_ip_access ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_concurrent_emergency_cleanup ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_manager_stats ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_manager_stats_calculations ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_get_limiter_race_condition ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_shrink_to_fit ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_try_acquire_n ... ok [INFO] [stdout] test rate_limiter::metrics::tests::test_edge_cases ... ok [INFO] [stdout] test rate_limiter::metrics::tests::test_health_status_display ... ok [INFO] [stdout] test rate_limiter::metrics::tests::test_health_status_methods ... ok [INFO] [stdout] test rate_limiter::metrics::tests::test_metrics_calculations ... ok [INFO] [stdout] test rate_limiter::metrics::tests::test_metrics_display ... ok [INFO] [stdout] test rate_limiter::metrics::tests::test_metrics_time_conversions ... ok [INFO] [stdout] test rate_limiter::metrics::tests::test_total_requests ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_backoff ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_backoff_progression ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_cache_aligned ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_cache_aligned_clone ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_cache_aligned_debug ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_cache_aligned_default ... ok [INFO] [stdout] test rate_limiter::metrics::tests::test_health_status ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_cache_aligned_methods ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_cache_line_size ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_cpu_relax ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_likely_unlikely ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_time_functions ... ok [INFO] [stdout] test tests::test_basic_functionality ... ok [INFO] [stdout] test tests::test_builder ... ok [INFO] [stdout] test tests::test_builder_chain ... ok [INFO] [stdout] test tests::test_builder_default ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_emergency_cleanup ... ok [INFO] [stdout] test tests::test_builder_validation ... ok [INFO] [stdout] test tests::test_constants ... ok [INFO] [stdout] test tests::test_prelude_imports ... ok [INFO] [stdout] test tests::test_shared_types ... ok [INFO] [stdout] test rate_limiter::utils::tests::test_time_monotonicity ... ok [INFO] [stdout] test tests::test_thread_safety ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_manager_cleanup ... ok [INFO] [stdout] test rate_limiter::manager::tests::test_stoppable_cleanup_thread ... ok [INFO] [stdout] test rate_limiter::core::tests::test_multiple_refill_periods ... ok [INFO] [stdout] test rate_limiter::core::tests::test_adaptive_refill_under_pressure ... ok [INFO] [stdout] test rate_limiter::core::tests::test_refill_mechanism ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 70 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.15s [INFO] [stdout] [INFO] [stderr] Doc-tests rater [INFO] [stdout] [INFO] [stdout] running 53 tests [INFO] [stdout] test src/lib.rs - RateLimiterBuilder (line 258) ... ok [INFO] [stdout] test src/lib.rs - (line 64) ... ok [INFO] [stdout] test src/lib.rs - (line 82) ... ok [INFO] [stdout] test src/lib.rs - prelude (line 235) ... ok [INFO] [stdout] test src/lib.rs - SharedRateLimiter (line 194) ... ok [INFO] [stdout] test src/lib.rs - (line 44) ... ok [INFO] [stdout] test src/lib.rs - prelude (line 229) ... ok [INFO] [stdout] test src/rate_limiter/config.rs - rate_limiter::config::MemoryOrdering (line 59) ... ok [INFO] [stdout] test src/rate_limiter/config.rs - rate_limiter::config::RateLimiterConfig (line 181) ... ok [INFO] [stdout] test src/rate_limiter/config.rs - rate_limiter::config::RateLimiterConfig::new (line 263) ... ok [INFO] [stdout] test src/rate_limiter/config.rs - rate_limiter::config::RateLimiterConfig::per_second (line 289) ... ok [INFO] [stdout] test src/rate_limiter/config.rs - rate_limiter::config::RateLimiterConfig::per_minute (line 315) ... ok [INFO] [stdout] test src/rate_limiter/config.rs - rate_limiter::config::RateLimiterConfig::validate (line 386) ... ok [INFO] [stdout] test src/rate_limiter/config.rs - rate_limiter::config::RateLimiterConfig::effective_rate_per_second (line 431) ... ok [INFO] [stdout] test src/rate_limiter/config.rs - rate_limiter::config::RateLimiterConfig::with_ordering (line 337) ... ok [INFO] [stdout] test src/rate_limiter/config.rs - rate_limiter::config::RateLimiterConfig::with_burst_multiplier (line 359) ... ok [INFO] [stdout] test src/rate_limiter/core.rs - rate_limiter::core::RateLimiter::add_tokens (line 943) ... ok [INFO] [stdout] test src/rate_limiter/core.rs - rate_limiter::core::RateLimiter::available_tokens (line 857) ... ok [INFO] [stdout] test src/rate_limiter/core.rs - rate_limiter::core::RateLimiter (line 236) ... ok [INFO] [stdout] test src/rate_limiter/core.rs - rate_limiter::core::RateLimiter::is_inactive (line 880) ... ok [INFO] [stdout] test src/rate_limiter/core.rs - rate_limiter::core::RateLimiter::metrics (line 903) ... ok [INFO] [stdout] test src/rate_limiter/core.rs - rate_limiter::core::RateLimiter::new (line 316) ... ok [INFO] [stdout] test src/rate_limiter/core.rs - rate_limiter::core::RateLimiter::try_acquire (line 399) ... ok [INFO] [stdout] test src/rate_limiter/core.rs - rate_limiter::core::RateLimiter::reset (line 1001) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::IpRateLimiterManager (line 107) ... ok [INFO] [stdout] test src/rate_limiter/core.rs - rate_limiter::core::RateLimiter::try_acquire_n (line 524) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::IpRateLimiterManager (line 86) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::IpRateLimiterManager::get_limiter (line 258) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::IpRateLimiterManager::start_cleanup_thread (line 608) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::IpRateLimiterManager::clear (line 719) ... ok [INFO] [stdout] test src/rate_limiter/core.rs - rate_limiter::core::RateLimiter::with_config (line 342) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::IpRateLimiterManager::new (line 172) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::ManagerStats::is_near_capacity (line 830) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::IpRateLimiterManager::stats (line 576) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::IpRateLimiterManager::with_cleanup_settings (line 218) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::ManagerStats::summary (line 795) ... ok [INFO] [stdout] test src/rate_limiter/metrics.rs - rate_limiter::metrics::HealthStatus (line 386) ... ok [INFO] [stdout] test src/rate_limiter/metrics.rs - rate_limiter::metrics::RateLimiterMetrics (line 49) ... ok [INFO] [stdout] test src/rate_limiter/metrics.rs - rate_limiter::metrics::HealthStatus::is_unhealthy (line 445) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::IpRateLimiterManager::start_stoppable_cleanup_thread (line 660) ... ok [INFO] [stdout] test src/rate_limiter/metrics.rs - rate_limiter::metrics::RateLimiterMetrics::health_status (line 284) ... ok [INFO] [stdout] test src/rate_limiter/metrics.rs - rate_limiter::metrics::HealthStatus::suggested_action (line 465) ... ok [INFO] [stdout] test src/rate_limiter/manager.rs - rate_limiter::manager::IpRateLimiterManager::try_acquire (line 458) ... ok [INFO] [stdout] test src/rate_limiter/metrics.rs - rate_limiter::metrics::RateLimiterMetrics::is_under_pressure (line 150) ... ok [INFO] [stdout] test src/rate_limiter/metrics.rs - rate_limiter::metrics::RateLimiterMetrics::utilization (line 173) ... ok [INFO] [stdout] test src/rate_limiter/metrics.rs - rate_limiter::metrics::RateLimiterMetrics::availability_percentage (line 200) ... ok [INFO] [stdout] test src/rate_limiter/utils.rs - rate_limiter::utils::current_time_ms (line 118) ... ok [INFO] [stdout] test src/rate_limiter/utils.rs - rate_limiter::utils::cpu_relax (line 71) ... ok [INFO] [stdout] test src/rate_limiter/metrics.rs - rate_limiter::metrics::RateLimiterMetrics::success_rate (line 113) ... ok [INFO] [stdout] test src/rate_limiter/metrics.rs - rate_limiter::metrics::RateLimiterMetrics::is_under_sustained_pressure (line 225) ... ok [INFO] [stdout] test src/rate_limiter/utils.rs - rate_limiter::utils::current_time_us (line 142) ... ok [INFO] [stdout] test src/rate_limiter/metrics.rs - rate_limiter::metrics::RateLimiterMetrics::max_wait_time_ms (line 254) ... ok [INFO] [stdout] test src/rate_limiter/utils.rs - rate_limiter::utils::current_time_ns (line 171) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 53 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.83s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "5636710db96ed24e93955a496837f6eb513e0d1ed711adfefa57abe4028de576", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5636710db96ed24e93955a496837f6eb513e0d1ed711adfefa57abe4028de576", kill_on_drop: false }` [INFO] [stdout] 5636710db96ed24e93955a496837f6eb513e0d1ed711adfefa57abe4028de576