[INFO] fetching crate pam-client2 0.5.2... [INFO] testing pam-client2-0.5.2 against try#2440211fe03bc45c89b6dc1a3df18382ce91e32b for pr-146098-1 [INFO] extracting crate pam-client2 0.5.2 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate pam-client2 0.5.2 [INFO] finished tweaking crates.io crate pam-client2 0.5.2 [INFO] tweaked toml for crates.io crate pam-client2 0.5.2 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate pam-client2 0.5.2 on toolchain 2440211fe03bc45c89b6dc1a3df18382ce91e32b [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "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" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 41 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f2a959863e321cd4347080a2f28d0a76d8d6e949a012d7a0f2dd37a425e03314 [INFO] running `Command { std: "docker" "start" "-a" "f2a959863e321cd4347080a2f28d0a76d8d6e949a012d7a0f2dd37a425e03314", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f2a959863e321cd4347080a2f28d0a76d8d6e949a012d7a0f2dd37a425e03314", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f2a959863e321cd4347080a2f28d0a76d8d6e949a012d7a0f2dd37a425e03314", kill_on_drop: false }` [INFO] [stdout] f2a959863e321cd4347080a2f28d0a76d8d6e949a012d7a0f2dd37a425e03314 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d63e5786112a3f189a1334e79b20397a89fa778af1aaa5bd1d18e164e506501d [INFO] running `Command { std: "docker" "start" "-a" "d63e5786112a3f189a1334e79b20397a89fa778af1aaa5bd1d18e164e506501d", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling bindgen v0.69.5 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling rustc-hash v1.1.0 [INFO] [stderr] Compiling lazycell v1.3.0 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling rtoolbox v0.0.3 [INFO] [stderr] Compiling rpassword v7.4.0 [INFO] [stderr] Compiling clang-sys v1.8.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling itertools v0.12.1 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling regex-automata v0.4.11 [INFO] [stderr] Compiling cexpr v0.6.0 [INFO] [stderr] Compiling bitflags v2.9.4 [INFO] [stderr] Compiling regex v1.11.3 [INFO] [stderr] Compiling pam-sys v1.0.0-alpha5 [INFO] [stderr] Compiling pam-client2 v0.5.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/context.rs:346:22 [INFO] [stdout] | [INFO] [stdout] 346 | pub fn open_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 346 | pub fn open_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/context.rs:399:29 [INFO] [stdout] | [INFO] [stdout] 399 | pub fn open_pseudo_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 399 | pub fn open_pseudo_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/context.rs:408:24 [INFO] [stdout] | [INFO] [stdout] 408 | pub fn unleak_session(&mut self, token: SessionToken) -> Session { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 408 | pub fn unleak_session(&mut self, token: SessionToken) -> Session<'_, ConvT> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/env_list.rs:211:14 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 211 | pub fn iter(&self) -> Iter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/env_list.rs:236:21 [INFO] [stdout] | [INFO] [stdout] 236 | pub fn iter_tuples(&self) -> TupleIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 236 | pub fn iter_tuples(&self) -> TupleIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.92s [INFO] running `Command { std: "docker" "inspect" "d63e5786112a3f189a1334e79b20397a89fa778af1aaa5bd1d18e164e506501d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d63e5786112a3f189a1334e79b20397a89fa778af1aaa5bd1d18e164e506501d", kill_on_drop: false }` [INFO] [stdout] d63e5786112a3f189a1334e79b20397a89fa778af1aaa5bd1d18e164e506501d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8532cc81248fd970fab3004dd55bce942435265c76c83badef9eee97bbd590c2 [INFO] running `Command { std: "docker" "start" "-a" "8532cc81248fd970fab3004dd55bce942435265c76c83badef9eee97bbd590c2", kill_on_drop: false }` [INFO] [stderr] Compiling pam-client2 v0.5.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/context.rs:346:22 [INFO] [stdout] | [INFO] [stdout] 346 | pub fn open_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 346 | pub fn open_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/context.rs:399:29 [INFO] [stdout] | [INFO] [stdout] 399 | pub fn open_pseudo_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 399 | pub fn open_pseudo_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/context.rs:408:24 [INFO] [stdout] | [INFO] [stdout] 408 | pub fn unleak_session(&mut self, token: SessionToken) -> Session { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 408 | pub fn unleak_session(&mut self, token: SessionToken) -> Session<'_, ConvT> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/env_list.rs:211:14 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 211 | pub fn iter(&self) -> Iter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/env_list.rs:236:21 [INFO] [stdout] | [INFO] [stdout] 236 | pub fn iter_tuples(&self) -> TupleIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 236 | pub fn iter_tuples(&self) -> TupleIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `full_test` [INFO] [stdout] --> src/context.rs:945:17 [INFO] [stdout] | [INFO] [stdout] 945 | #[cfg_attr(not(feature = "full_test"), ignore)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `cli`, `default`, `rpassword`, and `serde` [INFO] [stdout] = help: consider adding `full_test` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `full_test` [INFO] [stdout] --> src/context.rs:970:17 [INFO] [stdout] | [INFO] [stdout] 970 | #[cfg_attr(not(feature = "full_test"), ignore)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: expected values for `feature` are: `cli`, `default`, `rpassword`, and `serde` [INFO] [stdout] = help: consider adding `full_test` as a feature in `Cargo.toml` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/context.rs:892:27 [INFO] [stdout] | [INFO] [stdout] 892 | &mut handler_a as &mut (dyn ConversationHandler), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 892 - &mut handler_a as &mut (dyn ConversationHandler), [INFO] [stdout] 892 + &mut handler_a as &mut dyn ConversationHandler, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/context.rs:900:28 [INFO] [stdout] | [INFO] [stdout] 900 | &mut handler_b as &mut (dyn ConversationHandler) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 900 - &mut handler_b as &mut (dyn ConversationHandler) [INFO] [stdout] 900 + &mut handler_b as &mut dyn ConversationHandler [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/context.rs:346:22 [INFO] [stdout] | [INFO] [stdout] 346 | pub fn open_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 346 | pub fn open_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/context.rs:399:29 [INFO] [stdout] | [INFO] [stdout] 399 | pub fn open_pseudo_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 399 | pub fn open_pseudo_session(&mut self, flags: Flag) -> Result> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/context.rs:408:24 [INFO] [stdout] | [INFO] [stdout] 408 | pub fn unleak_session(&mut self, token: SessionToken) -> Session { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 408 | pub fn unleak_session(&mut self, token: SessionToken) -> Session<'_, ConvT> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/env_list.rs:211:14 [INFO] [stdout] | [INFO] [stdout] 211 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 211 | pub fn iter(&self) -> Iter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/env_list.rs:236:21 [INFO] [stdout] | [INFO] [stdout] 236 | pub fn iter_tuples(&self) -> TupleIter { [INFO] [stdout] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 236 | pub fn iter_tuples(&self) -> TupleIter<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1.22s [INFO] running `Command { std: "docker" "inspect" "8532cc81248fd970fab3004dd55bce942435265c76c83badef9eee97bbd590c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8532cc81248fd970fab3004dd55bce942435265c76c83badef9eee97bbd590c2", kill_on_drop: false }` [INFO] [stdout] 8532cc81248fd970fab3004dd55bce942435265c76c83badef9eee97bbd590c2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+2440211fe03bc45c89b6dc1a3df18382ce91e32b" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 6e0ce95e21c3e032f314fee1a2620c848a5128087603e978fd45bf43715173cb [INFO] running `Command { std: "docker" "start" "-a" "6e0ce95e21c3e032f314fee1a2620c848a5128087603e978fd45bf43715173cb", kill_on_drop: false }` [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/context.rs:346:22 [INFO] [stderr] | [INFO] [stderr] 346 | pub fn open_session(&mut self, flags: Flag) -> Result> { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 346 | pub fn open_session(&mut self, flags: Flag) -> Result> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/context.rs:399:29 [INFO] [stderr] | [INFO] [stderr] 399 | pub fn open_pseudo_session(&mut self, flags: Flag) -> Result> { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 399 | pub fn open_pseudo_session(&mut self, flags: Flag) -> Result> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/context.rs:408:24 [INFO] [stderr] | [INFO] [stderr] 408 | pub fn unleak_session(&mut self, token: SessionToken) -> Session { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 408 | pub fn unleak_session(&mut self, token: SessionToken) -> Session<'_, ConvT> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/env_list.rs:211:14 [INFO] [stderr] | [INFO] [stderr] 211 | pub fn iter(&self) -> Iter { [INFO] [stderr] | ^^^^^ ^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 211 | pub fn iter(&self) -> Iter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/env_list.rs:236:21 [INFO] [stderr] | [INFO] [stderr] 236 | pub fn iter_tuples(&self) -> TupleIter { [INFO] [stderr] | ^^^^^ ^^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 236 | pub fn iter_tuples(&self) -> TupleIter<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `full_test` [INFO] [stderr] --> src/context.rs:945:17 [INFO] [stderr] | [INFO] [stderr] 945 | #[cfg_attr(not(feature = "full_test"), ignore)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `cli`, `default`, `rpassword`, and `serde` [INFO] [stderr] = help: consider adding `full_test` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unexpected `cfg` condition value: `full_test` [INFO] [stderr] --> src/context.rs:970:17 [INFO] [stderr] | [INFO] [stderr] 970 | #[cfg_attr(not(feature = "full_test"), ignore)] [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: expected values for `feature` are: `cli`, `default`, `rpassword`, and `serde` [INFO] [stderr] = help: consider adding `full_test` as a feature in `Cargo.toml` [INFO] [stderr] = note: see for more information about checking conditional configuration [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/context.rs:892:27 [INFO] [stderr] | [INFO] [stderr] 892 | &mut handler_a as &mut (dyn ConversationHandler), [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 892 - &mut handler_a as &mut (dyn ConversationHandler), [INFO] [stderr] 892 + &mut handler_a as &mut dyn ConversationHandler, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/context.rs:900:28 [INFO] [stderr] | [INFO] [stderr] 900 | &mut handler_b as &mut (dyn ConversationHandler) [INFO] [stderr] | ^ ^ [INFO] [stderr] | [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 900 - &mut handler_b as &mut (dyn ConversationHandler) [INFO] [stderr] 900 + &mut handler_b as &mut dyn ConversationHandler [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `pam-client2` (lib) generated 5 warnings (run `cargo fix --lib -p pam-client2` to apply 5 suggestions) [INFO] [stderr] warning: `pam-client2` (lib test) generated 9 warnings (5 duplicates) (run `cargo fix --lib -p pam-client2 --tests` to apply 2 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pam_client2-e9fce5df1921682f) [INFO] [stdout] [INFO] [stdout] running 39 tests [INFO] [stdout] test c_box::tests::test_allocation ... ok [INFO] [stdout] test c_box::tests::test_debug ... ok [INFO] [stdout] test c_box::tests::test_equality ... ok [INFO] [stdout] test c_box::tests::test_sizes ... ok [INFO] [stdout] test c_box::tests::test_zeroed ... ok [INFO] [stdout] test context::tests::test_full ... ignored [INFO] [stdout] test context::tests::test_full_unauth ... ignored [INFO] [stderr] [INFO] [stderr] thread 'context::tests::test_conv_replace' (36) panicked at src/context.rs:470:76: [INFO] [stderr] null pointer dereference occurred [INFO] [stderr] stack backtrace: [INFO] [stderr] 0: 0x57a26081ccd2 - std::backtrace_rs::backtrace::libunwind::trace::h22a6a535a50603c6 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stderr] 1: 0x57a26081ccd2 - std::backtrace_rs::backtrace::trace_unsynchronized::h2503a4f30dbfbaa2 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stderr] 2: 0x57a26081ccd2 - std::sys::backtrace::_print_fmt::hec54e31f36456895 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/sys/backtrace.rs:66:9 [INFO] [stderr] 3: 0x57a26081ccd2 - ::fmt::hb1988e8b50fa5f19 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/sys/backtrace.rs:39:26 [INFO] [stderr] 4: 0x57a26082d0ef - core::fmt::rt::Argument::fmt::h3118a66e1a57a586 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/core/src/fmt/rt.rs:173:76 [INFO] [stderr] 5: 0x57a26082d0ef - core::fmt::write::hcd056e06a609f600 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/core/src/fmt/mod.rs:1468:25 [INFO] [stderr] 6: 0x57a2607e9c61 - std::io::default_write_fmt::h45f0f9de0268fdcb [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/io/mod.rs:639:11 [INFO] [stderr] 7: 0x57a2607e9c61 - std::io::Write::write_fmt::hc685c74e0b8ce55d [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/io/mod.rs:1954:13 [INFO] [stderr] 8: 0x57a2607f5d32 - std::sys::backtrace::BacktraceLock::print::h69f50ba7cfff8317 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/sys/backtrace.rs:42:9 [INFO] [stderr] 9: 0x57a2607fa8df - std::panicking::default_hook::{{closure}}::hfa978eb2255ab3ab [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/panicking.rs:301:27 [INFO] [stderr] 10: 0x57a2607fa739 - std::panicking::default_hook::h09da2eaf8f1deadd [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/panicking.rs:328:9 [INFO] [stderr] 11: 0x57a2607ba96e - as core::ops::function::Fn>::call::h1697e4d80f236ef6 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/alloc/src/boxed.rs:1987:9 [INFO] [stderr] 12: 0x57a2607ba96e - test::test_main_with_exit_callback::{{closure}}::h8f63929ca9fd483b [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/test/src/lib.rs:145:21 [INFO] [stderr] 13: 0x57a2607faf9f - as core::ops::function::Fn>::call::hba67e0dc3e3fc548 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/alloc/src/boxed.rs:1987:9 [INFO] [stderr] 14: 0x57a2607faf9f - std::panicking::panic_with_hook::h13c40d280d130fd3 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/panicking.rs:842:13 [INFO] [stderr] 15: 0x57a2607fadc6 - std::panicking::panic_handler::{{closure}}::hd79d22e8a1d3b951 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/panicking.rs:700:13 [INFO] [stderr] 16: 0x57a2607f5e79 - std::sys::backtrace::__rust_end_short_backtrace::h83414d1ec69cf3a6 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/sys/backtrace.rs:174:18 [INFO] [stderr] 17: 0x57a2607de15d - __rustc[b78aa6c7b08e5dc4]::rust_begin_unwind [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/panicking.rs:698:5 [INFO] [stderr] 18: 0x57a26083494d - core::panicking::panic_nounwind_fmt::runtime::h4ec66813e41e0d5b [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/core/src/panicking.rs:120:22 [INFO] [stderr] 19: 0x57a26083494d - core::panicking::panic_nounwind_fmt::h104e567e1186279f [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/core/src/intrinsics/mod.rs:2435:9 [INFO] [stderr] 20: 0x57a260834b2d - core::panicking::panic_null_pointer_dereference::h3f006ef5ae9431f9 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/core/src/panicking.rs:305:5 [INFO] [stderr] 21: 0x57a260792ee3 - pam_client2::context::Context::set_item::h5c0df9210273879c [INFO] [stderr] at /opt/rustwide/workdir/src/context.rs:470:70 [INFO] [stderr] 22: 0x57a2607936ec - pam_client2::context::Context::set_user::hcdbeeb09aec811df [INFO] [stderr] at /opt/rustwide/workdir/src/context.rs:52:27 [INFO] [stderr] 23: 0x57a260780312 - pam_client2::context::tests::test_conv_replace::hb01fc7a5d6577d8a [INFO] [stderr] at /opt/rustwide/workdir/src/context.rs:878:11 [INFO] [stderr] 24: 0x57a260780657 - pam_client2::context::tests::test_conv_replace::{{closure}}::h04e4d6a96c799a38 [INFO] [stderr] at /opt/rustwide/workdir/src/context.rs:867:24 [INFO] [stderr] 25: 0x57a26075f066 - core::ops::function::FnOnce::call_once::hd1c0aed8d0975713 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/core/src/ops/function.rs:250:5 [INFO] [stderr] 26: 0x57a2607ba74b - core::ops::function::FnOnce::call_once::he420dad47d9aac14 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/core/src/ops/function.rs:250:5 [INFO] [stderr] 27: 0x57a2607ba74b - test::__rust_begin_short_backtrace::h51976f55c263f7c2 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/test/src/lib.rs:663:18 [INFO] [stderr] 28: 0x57a2607d0375 - test::run_test_in_process::{{closure}}::h6aa4339396d33320 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/test/src/lib.rs:686:74 [INFO] [stderr] 29: 0x57a2607d0375 - as core::ops::function::FnOnce<()>>::call_once::h5bd0ba3863a53529 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stderr] 30: 0x57a2607d0375 - std::panicking::catch_unwind::do_call::h5c710722c40c5839 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/panicking.rs:590:40 [INFO] [stderr] 31: 0x57a2607d0375 - std::panicking::catch_unwind::hf41b5be070ce0f19 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/panicking.rs:553:19 [INFO] [stderr] 32: 0x57a2607d0375 - std::panic::catch_unwind::h4559aa103e6f16d6 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/panic.rs:359:14 [INFO] [stderr] 33: 0x57a2607d0375 - test::run_test_in_process::he6fd763a772ff213 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/test/src/lib.rs:686:27 [INFO] [stderr] 34: 0x57a2607d0375 - test::run_test::{{closure}}::he46f5435849feb5b [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/test/src/lib.rs:607:43 [INFO] [stderr] 35: 0x57a2607a6b84 - test::run_test::{{closure}}::h12a66289c31b502a [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/test/src/lib.rs:637:41 [INFO] [stderr] 36: 0x57a2607a6b84 - std::sys::backtrace::__rust_begin_short_backtrace::h614a7925ed7b2f5e [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/sys/backtrace.rs:158:18 [INFO] [stderr] 37: 0x57a2607aa52a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbc654088c5dbff36 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/thread/mod.rs:559:17 [INFO] [stderr] 38: 0x57a2607aa52a - as core::ops::function::FnOnce<()>>::call_once::h3f631d2ca531b61d [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/core/src/panic/unwind_safe.rs:274:9 [INFO] [stderr] 39: 0x57a2607aa52a - std::panicking::catch_unwind::do_call::hd2548748db0aa717 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/panicking.rs:590:40 [INFO] [stderr] 40: 0x57a2607aa52a - std::panicking::catch_unwind::hf7d8620d84df48e2 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/panicking.rs:553:19 [INFO] [stderr] 41: 0x57a2607aa52a - std::panic::catch_unwind::hdde75b8543fcb96b [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/panic.rs:359:14 [INFO] [stderr] 42: 0x57a2607aa52a - std::thread::Builder::spawn_unchecked_::{{closure}}::h991e7d03b432cf3f [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/thread/mod.rs:557:30 [INFO] [stderr] 43: 0x57a2607aa52a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hebddb40255441657 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/core/src/ops/function.rs:250:5 [INFO] [stderr] 44: 0x57a2607f0faf - as core::ops::function::FnOnce>::call_once::h55e8930dc7db99a5 [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/alloc/src/boxed.rs:1973:9 [INFO] [stderr] 45: 0x57a2607f0faf - std::sys::thread::unix::Thread::new::thread_start::he23d038ee4fa004e [INFO] [stderr] at /rustc/2440211fe03bc45c89b6dc1a3df18382ce91e32b/library/std/src/sys/thread/unix.rs:126:17 [INFO] [stderr] 46: 0x7af6084e9aa4 - [INFO] [stderr] 47: 0x7af608576a34 - clone [INFO] [stderr] 48: 0x0 - [INFO] [stderr] thread caused non-unwinding panic. aborting. [INFO] [stderr] error: test failed, to rerun pass `--lib` [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `/opt/rustwide/target/debug/deps/pam_client2-e9fce5df1921682f` (signal: 6, SIGABRT: process abort signal) [INFO] running `Command { std: "docker" "inspect" "6e0ce95e21c3e032f314fee1a2620c848a5128087603e978fd45bf43715173cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6e0ce95e21c3e032f314fee1a2620c848a5128087603e978fd45bf43715173cb", kill_on_drop: false }` [INFO] [stdout] 6e0ce95e21c3e032f314fee1a2620c848a5128087603e978fd45bf43715173cb