[INFO] fetching crate snapup 0.1.8...
[INFO] testing snapup-0.1.8 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate snapup 0.1.8 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate snapup 0.1.8
[INFO] finished tweaking crates.io crate snapup 0.1.8
[INFO] tweaked toml for crates.io crate snapup 0.1.8 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate snapup 0.1.8 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 51 packages to latest compatible versions
[INFO] [stderr]       Adding itertools v0.10.5 (available: v0.14.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ee1a9cfd8a551680154dfa2b2d4b089c479b48bbec5a61272659359b037f1bec
[INFO] running `Command { std: "docker" "start" "-a" "ee1a9cfd8a551680154dfa2b2d4b089c479b48bbec5a61272659359b037f1bec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ee1a9cfd8a551680154dfa2b2d4b089c479b48bbec5a61272659359b037f1bec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee1a9cfd8a551680154dfa2b2d4b089c479b48bbec5a61272659359b037f1bec", kill_on_drop: false }`
[INFO] [stdout] ee1a9cfd8a551680154dfa2b2d4b089c479b48bbec5a61272659359b037f1bec
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 963dc3f3eddb1177d2b95a5217e60792eec25884cf02419b6cf6e1c2de013c9c
[INFO] running `Command { std: "docker" "start" "-a" "963dc3f3eddb1177d2b95a5217e60792eec25884cf02419b6cf6e1c2de013c9c", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling im v15.1.0
[INFO] [stderr]    Compiling bitmaps v2.1.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling snapup v0.1.8 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling rand_xoshiro v0.6.0
[INFO] [stderr]    Compiling sized-chunks v0.6.5
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stdout] warning: unexpected `cfg` condition name: `CHANNEL_NIGHTLY`
[INFO] [stdout]  --> src/lib.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![cfg_attr(all(doc, CHANNEL_NIGHTLY), feature(doc_auto_cfg))]
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(CHANNEL_NIGHTLY)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(CHANNEL_NIGHTLY)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | /     pub fn map_keys<R>(
[INFO] [stdout] 106 | |         self,
[INFO] [stdout] 107 | |         f: impl Fn(Key) -> R + Clone,
[INFO] [stdout] 108 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 109 | |         impl IntoIterator<Item = (R, Value)>,
[INFO] [stdout] 110 | |         impl Stream<Item = impl IntoIterator<Item = (R, Option<Value>)>>,
[INFO] [stdout] 111 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:1:9
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | /     pub fn map_values<R>(
[INFO] [stdout] 130 | |         self,
[INFO] [stdout] 131 | |         f: impl Fn(Value) -> R + Clone,
[INFO] [stdout] 132 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 133 | |         impl IntoIterator<Item = (Key, R)>,
[INFO] [stdout] 134 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<R>)>>,
[INFO] [stdout] 135 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | /     pub fn filter(
[INFO] [stdout] 154 | |         self,
[INFO] [stdout] 155 | |         f: impl Fn(&Key, &Value) -> bool + Clone,
[INFO] [stdout] 156 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 157 | |         impl IntoIterator<Item = (Key, Value)>,
[INFO] [stdout] 158 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<Value>)>>,
[INFO] [stdout] 159 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 | /     pub fn filter_keys(
[INFO] [stdout] 203 | |         self,
[INFO] [stdout] 204 | |         f: impl Fn(&Key) -> bool + Clone,
[INFO] [stdout] 205 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 206 | |         impl IntoIterator<Item = (Key, Value)>,
[INFO] [stdout] 207 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<Value>)>>,
[INFO] [stdout] 208 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/lib.rs:259:1
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub enum SnapshotOrUpdate<Snapshot, Update> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/lib.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 |     Snapshot(Snapshot),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/lib.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 |     Update(Update),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/join_with_parent.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | /     pub fn join_with_optional_parent<ParentKey, ParentValue, ParentSnapshot, ParentUpdates>(
[INFO] [stdout] 15 | |         self,
[INFO] [stdout] 16 | |         other: SnapshotWithUpdates<ParentSnapshot, ParentUpdates>,
[INFO] [stdout] 17 | |         f: impl FnMut(&Key) -> ParentKey,
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |         ParentUpdates: Stream,
[INFO] [stdout] 30 | |         ParentUpdates::Item: IntoIterator<Item = (ParentKey, Option<ParentValue>)>,
[INFO] [stdout]    | |___________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/join_with_parent.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | /     pub fn join_with_parent<ParentKey, ParentValue, ParentSnapshot, ParentUpdates>(
[INFO] [stdout] 78 | |         self,
[INFO] [stdout] 79 | |         other: SnapshotWithUpdates<ParentSnapshot, ParentUpdates>,
[INFO] [stdout] 80 | |         f: impl FnMut(&Key) -> ParentKey,
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |         ParentUpdates: Stream,
[INFO] [stdout] 91 | |         ParentUpdates::Item: IntoIterator<Item = (ParentKey, Option<ParentValue>)>,
[INFO] [stdout]    | |___________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.02s
[INFO] running `Command { std: "docker" "inspect" "963dc3f3eddb1177d2b95a5217e60792eec25884cf02419b6cf6e1c2de013c9c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "963dc3f3eddb1177d2b95a5217e60792eec25884cf02419b6cf6e1c2de013c9c", kill_on_drop: false }`
[INFO] [stdout] 963dc3f3eddb1177d2b95a5217e60792eec25884cf02419b6cf6e1c2de013c9c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 07fdc80df7bdbf5b956981ef02bed4e81e634182d89afd9af172b647a3b66808
[INFO] running `Command { std: "docker" "start" "-a" "07fdc80df7bdbf5b956981ef02bed4e81e634182d89afd9af172b647a3b66808", kill_on_drop: false }`
[INFO] [stderr]    Compiling either-or-both v0.3.1
[INFO] [stderr]    Compiling streamtools v0.7.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling snapup v0.1.8 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `CHANNEL_NIGHTLY`
[INFO] [stdout]  --> src/lib.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![cfg_attr(all(doc, CHANNEL_NIGHTLY), feature(doc_auto_cfg))]
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(CHANNEL_NIGHTLY)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(CHANNEL_NIGHTLY)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | /     pub fn map_keys<R>(
[INFO] [stdout] 106 | |         self,
[INFO] [stdout] 107 | |         f: impl Fn(Key) -> R + Clone,
[INFO] [stdout] 108 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 109 | |         impl IntoIterator<Item = (R, Value)>,
[INFO] [stdout] 110 | |         impl Stream<Item = impl IntoIterator<Item = (R, Option<Value>)>>,
[INFO] [stdout] 111 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:1:9
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | /     pub fn map_values<R>(
[INFO] [stdout] 130 | |         self,
[INFO] [stdout] 131 | |         f: impl Fn(Value) -> R + Clone,
[INFO] [stdout] 132 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 133 | |         impl IntoIterator<Item = (Key, R)>,
[INFO] [stdout] 134 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<R>)>>,
[INFO] [stdout] 135 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | /     pub fn filter(
[INFO] [stdout] 154 | |         self,
[INFO] [stdout] 155 | |         f: impl Fn(&Key, &Value) -> bool + Clone,
[INFO] [stdout] 156 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 157 | |         impl IntoIterator<Item = (Key, Value)>,
[INFO] [stdout] 158 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<Value>)>>,
[INFO] [stdout] 159 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 | /     pub fn filter_keys(
[INFO] [stdout] 203 | |         self,
[INFO] [stdout] 204 | |         f: impl Fn(&Key) -> bool + Clone,
[INFO] [stdout] 205 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 206 | |         impl IntoIterator<Item = (Key, Value)>,
[INFO] [stdout] 207 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<Value>)>>,
[INFO] [stdout] 208 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/lib.rs:259:1
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub enum SnapshotOrUpdate<Snapshot, Update> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/lib.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 |     Snapshot(Snapshot),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/lib.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 |     Update(Update),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/join_with_parent.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | /     pub fn join_with_optional_parent<ParentKey, ParentValue, ParentSnapshot, ParentUpdates>(
[INFO] [stdout] 15 | |         self,
[INFO] [stdout] 16 | |         other: SnapshotWithUpdates<ParentSnapshot, ParentUpdates>,
[INFO] [stdout] 17 | |         f: impl FnMut(&Key) -> ParentKey,
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |         ParentUpdates: Stream,
[INFO] [stdout] 30 | |         ParentUpdates::Item: IntoIterator<Item = (ParentKey, Option<ParentValue>)>,
[INFO] [stdout]    | |___________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/join_with_parent.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | /     pub fn join_with_parent<ParentKey, ParentValue, ParentSnapshot, ParentUpdates>(
[INFO] [stdout] 78 | |         self,
[INFO] [stdout] 79 | |         other: SnapshotWithUpdates<ParentSnapshot, ParentUpdates>,
[INFO] [stdout] 80 | |         f: impl FnMut(&Key) -> ParentKey,
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |         ParentUpdates: Stream,
[INFO] [stdout] 91 | |         ParentUpdates::Item: IntoIterator<Item = (ParentKey, Option<ParentValue>)>,
[INFO] [stdout]    | |___________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition name: `CHANNEL_NIGHTLY`
[INFO] [stdout]  --> src/lib.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | #![cfg_attr(all(doc, CHANNEL_NIGHTLY), feature(doc_auto_cfg))]
[INFO] [stdout]   |                      ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stdout]   = help: consider using a Cargo feature instead
[INFO] [stdout]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stdout]            [lints.rust]
[INFO] [stdout]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(CHANNEL_NIGHTLY)'] }
[INFO] [stdout]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(CHANNEL_NIGHTLY)");` to the top of the `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Update` is never used
[INFO] [stdout]    --> src/join_with_parent.rs:392:14
[INFO] [stdout]     |
[INFO] [stdout] 392 |         enum Update {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 | /     pub fn map_keys<R>(
[INFO] [stdout] 106 | |         self,
[INFO] [stdout] 107 | |         f: impl Fn(Key) -> R + Clone,
[INFO] [stdout] 108 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 109 | |         impl IntoIterator<Item = (R, Value)>,
[INFO] [stdout] 110 | |         impl Stream<Item = impl IntoIterator<Item = (R, Option<Value>)>>,
[INFO] [stdout] 111 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:1:9
[INFO] [stdout]     |
[INFO] [stdout]   1 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 | /     pub fn map_values<R>(
[INFO] [stdout] 130 | |         self,
[INFO] [stdout] 131 | |         f: impl Fn(Value) -> R + Clone,
[INFO] [stdout] 132 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 133 | |         impl IntoIterator<Item = (Key, R)>,
[INFO] [stdout] 134 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<R>)>>,
[INFO] [stdout] 135 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 | /     pub fn filter(
[INFO] [stdout] 154 | |         self,
[INFO] [stdout] 155 | |         f: impl Fn(&Key, &Value) -> bool + Clone,
[INFO] [stdout] 156 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 157 | |         impl IntoIterator<Item = (Key, Value)>,
[INFO] [stdout] 158 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<Value>)>>,
[INFO] [stdout] 159 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/lib.rs:202:5
[INFO] [stdout]     |
[INFO] [stdout] 202 | /     pub fn filter_keys(
[INFO] [stdout] 203 | |         self,
[INFO] [stdout] 204 | |         f: impl Fn(&Key) -> bool + Clone,
[INFO] [stdout] 205 | |     ) -> SnapshotWithUpdates<
[INFO] [stdout] 206 | |         impl IntoIterator<Item = (Key, Value)>,
[INFO] [stdout] 207 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<Value>)>>,
[INFO] [stdout] 208 | |     > {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/lib.rs:259:1
[INFO] [stdout]     |
[INFO] [stdout] 259 | pub enum SnapshotOrUpdate<Snapshot, Update> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/lib.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 |     Snapshot(Snapshot),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/lib.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 |     Update(Update),
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/join_with_parent.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | /     pub fn join_with_optional_parent<ParentKey, ParentValue, ParentSnapshot, ParentUpdates>(
[INFO] [stdout] 15 | |         self,
[INFO] [stdout] 16 | |         other: SnapshotWithUpdates<ParentSnapshot, ParentUpdates>,
[INFO] [stdout] 17 | |         f: impl FnMut(&Key) -> ParentKey,
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |         ParentUpdates: Stream,
[INFO] [stdout] 30 | |         ParentUpdates::Item: IntoIterator<Item = (ParentKey, Option<ParentValue>)>,
[INFO] [stdout]    | |___________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/join_with_parent.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 | /     pub fn join_with_parent<ParentKey, ParentValue, ParentSnapshot, ParentUpdates>(
[INFO] [stdout] 78 | |         self,
[INFO] [stdout] 79 | |         other: SnapshotWithUpdates<ParentSnapshot, ParentUpdates>,
[INFO] [stdout] 80 | |         f: impl FnMut(&Key) -> ParentKey,
[INFO] [stdout] ...  |
[INFO] [stdout] 90 | |         ParentUpdates: Stream,
[INFO] [stdout] 91 | |         ParentUpdates::Item: IntoIterator<Item = (ParentKey, Option<ParentValue>)>,
[INFO] [stdout]    | |___________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.00s
[INFO] running `Command { std: "docker" "inspect" "07fdc80df7bdbf5b956981ef02bed4e81e634182d89afd9af172b647a3b66808", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07fdc80df7bdbf5b956981ef02bed4e81e634182d89afd9af172b647a3b66808", kill_on_drop: false }`
[INFO] [stdout] 07fdc80df7bdbf5b956981ef02bed4e81e634182d89afd9af172b647a3b66808
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7497085ee6a69d7b4377b034322bfc7ab217bc79a3181d37a31740da39bd6af9
[INFO] running `Command { std: "docker" "start" "-a" "7497085ee6a69d7b4377b034322bfc7ab217bc79a3181d37a31740da39bd6af9", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition name: `CHANNEL_NIGHTLY`
[INFO] [stderr]  --> src/lib.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | #![cfg_attr(all(doc, CHANNEL_NIGHTLY), feature(doc_auto_cfg))]
[INFO] [stderr]   |                      ^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = help: expected names are: `docsrs`, `feature`, and `test` and 31 more
[INFO] [stderr]   = help: consider using a Cargo feature instead
[INFO] [stderr]   = help: or consider adding in `Cargo.toml` the `check-cfg` lint config for the lint:
[INFO] [stderr]            [lints.rust]
[INFO] [stderr]            unexpected_cfgs = { level = "warn", check-cfg = ['cfg(CHANNEL_NIGHTLY)'] }
[INFO] [stderr]   = help: or consider adding `println!("cargo::rustc-check-cfg=cfg(CHANNEL_NIGHTLY)");` to the top of the `build.rs`
[INFO] [stderr]   = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]   = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/lib.rs:105:5
[INFO] [stderr]     |
[INFO] [stderr] 105 | /     pub fn map_keys<R>(
[INFO] [stderr] 106 | |         self,
[INFO] [stderr] 107 | |         f: impl Fn(Key) -> R + Clone,
[INFO] [stderr] 108 | |     ) -> SnapshotWithUpdates<
[INFO] [stderr] 109 | |         impl IntoIterator<Item = (R, Value)>,
[INFO] [stderr] 110 | |         impl Stream<Item = impl IntoIterator<Item = (R, Option<Value>)>>,
[INFO] [stderr] 111 | |     > {
[INFO] [stderr]     | |_____^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/lib.rs:1:9
[INFO] [stderr]     |
[INFO] [stderr]   1 | #![warn(missing_docs)]
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/lib.rs:129:5
[INFO] [stderr]     |
[INFO] [stderr] 129 | /     pub fn map_values<R>(
[INFO] [stderr] 130 | |         self,
[INFO] [stderr] 131 | |         f: impl Fn(Value) -> R + Clone,
[INFO] [stderr] 132 | |     ) -> SnapshotWithUpdates<
[INFO] [stderr] 133 | |         impl IntoIterator<Item = (Key, R)>,
[INFO] [stderr] 134 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<R>)>>,
[INFO] [stderr] 135 | |     > {
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/lib.rs:153:5
[INFO] [stderr]     |
[INFO] [stderr] 153 | /     pub fn filter(
[INFO] [stderr] 154 | |         self,
[INFO] [stderr] 155 | |         f: impl Fn(&Key, &Value) -> bool + Clone,
[INFO] [stderr] 156 | |     ) -> SnapshotWithUpdates<
[INFO] [stderr] 157 | |         impl IntoIterator<Item = (Key, Value)>,
[INFO] [stderr] 158 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<Value>)>>,
[INFO] [stderr] 159 | |     > {
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/lib.rs:202:5
[INFO] [stderr]     |
[INFO] [stderr] 202 | /     pub fn filter_keys(
[INFO] [stderr] 203 | |         self,
[INFO] [stderr] 204 | |         f: impl Fn(&Key) -> bool + Clone,
[INFO] [stderr] 205 | |     ) -> SnapshotWithUpdates<
[INFO] [stderr] 206 | |         impl IntoIterator<Item = (Key, Value)>,
[INFO] [stderr] 207 | |         impl Stream<Item = impl IntoIterator<Item = (Key, Option<Value>)>>,
[INFO] [stderr] 208 | |     > {
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]    --> src/lib.rs:259:1
[INFO] [stderr]     |
[INFO] [stderr] 259 | pub enum SnapshotOrUpdate<Snapshot, Update> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/lib.rs:260:5
[INFO] [stderr]     |
[INFO] [stderr] 260 |     Snapshot(Snapshot),
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/lib.rs:261:5
[INFO] [stderr]     |
[INFO] [stderr] 261 |     Update(Update),
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/join_with_parent.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | /     pub fn join_with_optional_parent<ParentKey, ParentValue, ParentSnapshot, ParentUpdates>(
[INFO] [stderr] 15 | |         self,
[INFO] [stderr] 16 | |         other: SnapshotWithUpdates<ParentSnapshot, ParentUpdates>,
[INFO] [stderr] 17 | |         f: impl FnMut(&Key) -> ParentKey,
[INFO] [stderr] ...  |
[INFO] [stderr] 29 | |         ParentUpdates: Stream,
[INFO] [stderr] 30 | |         ParentUpdates::Item: IntoIterator<Item = (ParentKey, Option<ParentValue>)>,
[INFO] [stderr]    | |___________________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/join_with_parent.rs:77:5
[INFO] [stderr]    |
[INFO] [stderr] 77 | /     pub fn join_with_parent<ParentKey, ParentValue, ParentSnapshot, ParentUpdates>(
[INFO] [stderr] 78 | |         self,
[INFO] [stderr] 79 | |         other: SnapshotWithUpdates<ParentSnapshot, ParentUpdates>,
[INFO] [stderr] 80 | |         f: impl FnMut(&Key) -> ParentKey,
[INFO] [stderr] ...  |
[INFO] [stderr] 90 | |         ParentUpdates: Stream,
[INFO] [stderr] 91 | |         ParentUpdates::Item: IntoIterator<Item = (ParentKey, Option<ParentValue>)>,
[INFO] [stderr]    | |___________________________________________________________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: `snapup` (lib) generated 10 warnings
[INFO] [stderr] warning: enum `Update` is never used
[INFO] [stderr]    --> src/join_with_parent.rs:392:14
[INFO] [stderr]     |
[INFO] [stderr] 392 |         enum Update {
[INFO] [stderr]     |              ^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `snapup` (lib test) generated 11 warnings (10 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/snapup-924237c8c90418da)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test join_with_parent::tests::test_join_with_parent ... ok
[INFO] [stderr]    Doc-tests snapup
[INFO] [stdout] test tests::test_flatten ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7497085ee6a69d7b4377b034322bfc7ab217bc79a3181d37a31740da39bd6af9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7497085ee6a69d7b4377b034322bfc7ab217bc79a3181d37a31740da39bd6af9", kill_on_drop: false }`
[INFO] [stdout] 7497085ee6a69d7b4377b034322bfc7ab217bc79a3181d37a31740da39bd6af9
