[INFO] fetching crate rmqtt-message-storage 0.15.0... [INFO] testing rmqtt-message-storage-0.15.0 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate rmqtt-message-storage 0.15.0 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate rmqtt-message-storage 0.15.0 [INFO] finished tweaking crates.io crate rmqtt-message-storage 0.15.0 [INFO] tweaked toml for crates.io crate rmqtt-message-storage 0.15.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate rmqtt-message-storage 0.15.0 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate rmqtt-message-storage 0.15.0 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" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a4f54d1647fc77f73460a62c39bf34a23d2b692cc32916b6c9a97931d9ed287d [INFO] running `Command { std: "docker" "start" "-a" "a4f54d1647fc77f73460a62c39bf34a23d2b692cc32916b6c9a97931d9ed287d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a4f54d1647fc77f73460a62c39bf34a23d2b692cc32916b6c9a97931d9ed287d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a4f54d1647fc77f73460a62c39bf34a23d2b692cc32916b6c9a97931d9ed287d", kill_on_drop: false }` [INFO] [stdout] a4f54d1647fc77f73460a62c39bf34a23d2b692cc32916b6c9a97931d9ed287d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4460a213fe53933ae0404951ab280857115c208b04f9131eccc4a23304a6f3c8 [INFO] running `Command { std: "docker" "start" "-a" "4460a213fe53933ae0404951ab280857115c208b04f9131eccc4a23304a6f3c8", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling parking_lot v0.12.4 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling derive-where v1.6.0 [INFO] [stderr] Compiling anyhow v1.0.99 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling potential_utf v0.1.2 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling waker-fn v1.2.0 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling fastrand v1.9.0 [INFO] [stderr] Compiling dequemap v0.2.2 [INFO] [stderr] Compiling proc-macro-utils v0.8.0 [INFO] [stderr] Compiling io-lifetimes v1.0.11 [INFO] [stderr] Compiling futures-lite v1.13.0 [INFO] [stderr] Compiling icu_collections v2.0.0 [INFO] [stderr] Compiling interpolator v0.5.0 [INFO] [stderr] Compiling collection_literals v1.0.2 [INFO] [stderr] Compiling std-ext v0.3.2 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling icu_properties v2.0.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling icu_normalizer v2.0.0 [INFO] [stderr] Compiling snafu-derive v0.6.10 [INFO] [stderr] Compiling polling v2.8.0 [INFO] [stderr] Compiling winnow v0.7.13 [INFO] [stderr] Compiling portable-atomic v1.11.1 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling protobuf v2.28.0 [INFO] [stderr] Compiling rustix v0.37.28 [INFO] [stderr] Compiling nonzero_ext v0.3.0 [INFO] [stderr] Compiling dashmap v6.1.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling async-io v1.13.0 [INFO] [stderr] Compiling prometheus v0.13.4 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling linux-raw-sys v0.3.8 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling quanta v0.12.6 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling rmqtt v0.15.0 [INFO] [stderr] Compiling prost-derive v0.13.5 [INFO] [stderr] Compiling async-lock v2.8.0 [INFO] [stderr] Compiling spinning_top v0.3.0 [INFO] [stderr] Compiling socket2 v0.4.10 [INFO] [stderr] Compiling async-channel v1.9.0 [INFO] [stderr] Compiling uuid v1.18.0 [INFO] [stderr] Compiling rmqtt-macros v0.1.1 [INFO] [stderr] Compiling systemstat v0.2.5 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling sdd v3.0.10 [INFO] [stderr] Compiling scc v2.4.0 [INFO] [stderr] Compiling snafu v0.6.10 [INFO] [stderr] Compiling quote-use-macros v0.7.2 [INFO] [stderr] Compiling toml_parser v1.0.2 [INFO] [stderr] Compiling url v2.5.7 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling toml_datetime v0.7.0 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling serde_spanned v1.0.0 [INFO] [stderr] Compiling governor v0.10.1 [INFO] [stderr] Compiling quote-use v0.7.2 [INFO] [stderr] Compiling attribute-derive-macro v0.6.1 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling queue-ext v0.4.1 [INFO] [stderr] Compiling toml v0.9.5 [INFO] [stderr] Compiling mpsc v0.2.6 [INFO] [stderr] Compiling attribute-derive v0.6.1 [INFO] [stderr] Compiling box-counter v0.3.0 [INFO] [stderr] Compiling tokio v1.47.1 [INFO] [stderr] Compiling bytestring v1.4.0 [INFO] [stderr] Compiling proxy-protocol v0.5.0 [INFO] [stderr] Compiling prost v0.13.5 [INFO] [stderr] Compiling task-exec-queue v0.9.3 [INFO] [stderr] Compiling get-size-derive v0.1.3 [INFO] [stderr] Compiling futures-time v3.0.0 [INFO] [stderr] Compiling rust-box v0.15.0 [INFO] [stderr] Compiling get-size v0.1.4 [INFO] [stderr] Compiling config v0.15.14 [INFO] [stderr] Compiling rmqtt-utils v0.1.3 [INFO] [stderr] Compiling tokio-util v0.7.16 [INFO] [stderr] Compiling leaky-bucket v1.1.2 [INFO] [stderr] Compiling rmqtt-codec v0.1.2 [INFO] [stderr] Compiling rmqtt-net v0.1.5 [INFO] [stderr] Compiling rmqtt-message-storage v0.15.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `json` [INFO] [stdout] --> src/lib.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use serde_json::{self, json}; [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 import: `Config` [INFO] [stdout] --> src/lib.rs:21:14 [INFO] [stdout] | [INFO] [stdout] 21 | use config::{Config, PluginConfig}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/lib.rs:82:9 [INFO] [stdout] | [INFO] [stdout] 49 | let (message_mgr, cfg) = match &mut cfg.storage { [INFO] [stdout] | __________________________________- [INFO] [stdout] 50 | | #[cfg(feature = "ram")] [INFO] [stdout] 51 | | Some(Config::Ram(ram_cfg)) => { [INFO] [stdout] 52 | | let message_mgr = RamMessageManager::new(ram_cfg.clone(), cfg.cleanup_count).await?; [INFO] [stdout] ... | [INFO] [stdout] 80 | | None => return Err(anyhow!("No storage engine specified (ram, redis, or redis-cluster)")), [INFO] [stdout] 81 | | }; [INFO] [stdout] | |_________- any code following this `match` expression is unreachable, as all arms diverge [INFO] [stdout] 82 | log::info!("{name} StoragePlugin cfg: {cfg:?}"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] = note: this warning originates in the macro `$crate::log` which comes from the expansion of the macro `log::info` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0004]: non-exhaustive patterns: `&mut Some(_)` not covered [INFO] [stdout] --> src/lib.rs:49:40 [INFO] [stdout] | [INFO] [stdout] 49 | let (message_mgr, cfg) = match &mut cfg.storage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ pattern `&mut Some(_)` not covered [INFO] [stdout] | [INFO] [stdout] note: `std::option::Option` defined here [INFO] [stdout] --> /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/option.rs:593:1 [INFO] [stdout] ::: /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/option.rs:601:5 [INFO] [stdout] | [INFO] [stdout] = note: not covered [INFO] [stdout] = note: the matched value is of type `&mut std::option::Option` [INFO] [stdout] = note: `Config` is uninhabited but is not being matched by value, so a wildcard `_` is required [INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown [INFO] [stdout] | [INFO] [stdout] 80 ~ None => return Err(anyhow!("No storage engine specified (ram, redis, or redis-cluster)")), [INFO] [stdout] 81 ~ &mut Some(_) => todo!(), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/lib.rs:145:9 [INFO] [stdout] | [INFO] [stdout] 137 | / match self { [INFO] [stdout] 138 | | #[cfg(any(feature = "redis", feature = "redis-cluster"))] [INFO] [stdout] 139 | | MessageMgr::Storage(mgr) => { [INFO] [stdout] 140 | | mgr.restore_topic_tree().await?; [INFO] [stdout] ... | [INFO] [stdout] 143 | | MessageMgr::Ram(_) => {} [INFO] [stdout] 144 | | } [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 145 | Ok(()) [INFO] [stdout] | ^^^^^^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0004]: non-exhaustive patterns: type `&MessageMgr` is non-empty [INFO] [stdout] --> src/lib.rs:137:15 [INFO] [stdout] | [INFO] [stdout] 137 | match self { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `MessageMgr` defined here [INFO] [stdout] --> src/lib.rs:128:6 [INFO] [stdout] | [INFO] [stdout] 128 | enum MessageMgr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: the matched value is of type `&MessageMgr` [INFO] [stdout] = note: references are always considered inhabited [INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern as shown [INFO] [stdout] | [INFO] [stdout] 137 ~ match self { [INFO] [stdout] 138 + _ => todo!(), [INFO] [stdout] 139 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0004]: non-exhaustive patterns: type `&MessageMgr` is non-empty [INFO] [stdout] --> src/lib.rs:149:15 [INFO] [stdout] | [INFO] [stdout] 149 | match self { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] note: `MessageMgr` defined here [INFO] [stdout] --> src/lib.rs:128:6 [INFO] [stdout] | [INFO] [stdout] 128 | enum MessageMgr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: the matched value is of type `&MessageMgr` [INFO] [stdout] = note: references are always considered inhabited [INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern as shown [INFO] [stdout] | [INFO] [stdout] 149 ~ match self { [INFO] [stdout] 150 + _ => todo!(), [INFO] [stdout] 151 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/lib.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 105 | let mgr: Box = match &self.message_mgr { [INFO] [stdout] | ____________________________________________- [INFO] [stdout] 106 | | #[cfg(any(feature = "redis", feature = "redis-cluster"))] [INFO] [stdout] 107 | | MessageMgr::Storage(mgr) => Box::new(mgr.clone()), [INFO] [stdout] 108 | | #[cfg(feature = "ram")] [INFO] [stdout] 109 | | MessageMgr::Ram(mgr) => Box::new(mgr.clone()), [INFO] [stdout] 110 | | }; [INFO] [stdout] | |_________- any code following this expression is unreachable [INFO] [stdout] 111 | *self.scx.extends.message_mgr_mut().await = mgr; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0004]: non-exhaustive patterns: type `&MessageMgr` is non-empty [INFO] [stdout] --> src/lib.rs:105:50 [INFO] [stdout] | [INFO] [stdout] 105 | let mgr: Box = match &self.message_mgr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: `MessageMgr` defined here [INFO] [stdout] --> src/lib.rs:128:6 [INFO] [stdout] | [INFO] [stdout] 128 | enum MessageMgr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] = note: the matched value is of type `&MessageMgr` [INFO] [stdout] = note: references are always considered inhabited [INFO] [stdout] help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern as shown [INFO] [stdout] | [INFO] [stdout] 105 ~ let mgr: Box = match &self.message_mgr { [INFO] [stdout] 106 + _ => todo!(), [INFO] [stdout] 107 ~ }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0004`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rmqtt-message-storage` (lib) due to 4 previous errors; 5 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] running `Command { std: "docker" "inspect" "4460a213fe53933ae0404951ab280857115c208b04f9131eccc4a23304a6f3c8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4460a213fe53933ae0404951ab280857115c208b04f9131eccc4a23304a6f3c8", kill_on_drop: false }` [INFO] [stdout] 4460a213fe53933ae0404951ab280857115c208b04f9131eccc4a23304a6f3c8