[INFO] fetching crate haddock 0.2.1... [INFO] checking haddock-0.2.1 against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577 [INFO] extracting crate haddock 0.2.1 into /workspace/builds/worker-1-tc2/source [INFO] started tweaking crates.io crate haddock 0.2.1 [INFO] finished tweaking crates.io crate haddock 0.2.1 [INFO] tweaked toml for crates.io crate haddock 0.2.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate haddock 0.2.1 on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate haddock 0.2.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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c6b0634404a8dabafe10977f9908da023d0123bf1f55da0c5e31e6593e554d10 [INFO] running `Command { std: "docker" "start" "-a" "c6b0634404a8dabafe10977f9908da023d0123bf1f55da0c5e31e6593e554d10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c6b0634404a8dabafe10977f9908da023d0123bf1f55da0c5e31e6593e554d10", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c6b0634404a8dabafe10977f9908da023d0123bf1f55da0c5e31e6593e554d10", kill_on_drop: false }` [INFO] [stdout] c6b0634404a8dabafe10977f9908da023d0123bf1f55da0c5e31e6593e554d10 [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=forbid -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 425a888ac21dc523f0343defcc3fe78f793f909e0e5d641ed63d3e00d5930ece [INFO] running `Command { std: "docker" "start" "-a" "425a888ac21dc523f0343defcc3fe78f793f909e0e5d641ed63d3e00d5930ece", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.150 [INFO] [stderr] Compiling serde v1.0.193 [INFO] [stderr] Checking smallvec v1.11.2 [INFO] [stderr] Compiling syn v2.0.39 [INFO] [stderr] Checking typenum v1.16.0 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.0 [INFO] [stderr] Compiling signal-hook v0.3.15 [INFO] [stderr] Checking hashbrown v0.14.2 [INFO] [stderr] Compiling yansi v0.5.1 [INFO] [stderr] Checking anstyle-parse v0.2.2 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Compiling uncased v0.9.7 [INFO] [stderr] Checking anstyle v1.0.4 [INFO] [stderr] Checking unicode-width v0.1.11 [INFO] [stderr] Compiling rust_decimal v1.33.1 [INFO] [stderr] Compiling portable-atomic v1.3.2 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Compiling figment v0.10.13 [INFO] [stderr] Compiling serde_json v1.0.109 [INFO] [stderr] Checking anstream v0.6.4 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Checking unicode-segmentation v1.10.1 [INFO] [stderr] Checking generic-array v0.14.6 [INFO] [stderr] Checking clap_lex v0.6.0 [INFO] [stderr] Checking path-dedot v3.1.1 [INFO] [stderr] Checking clap_builder v4.4.12 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking newline-converter v0.2.2 [INFO] [stderr] Checking dyn-clone v1.0.11 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking parking_lot_core v0.9.9 [INFO] [stderr] Checking mio v0.8.9 [INFO] [stderr] Checking socket2 v0.5.5 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking block-buffer v0.10.3 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking console v0.15.7 [INFO] [stderr] Checking cpufeatures v0.2.5 [INFO] [stderr] Checking unsafe-libyaml v0.2.10 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking crossterm v0.25.0 [INFO] [stderr] Checking indicatif v0.17.7 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking path-absolutize v3.1.1 [INFO] [stderr] Checking anyhow v1.0.79 [INFO] [stderr] Compiling glob v0.3.0 [INFO] [stderr] Checking heck v0.4.1 [INFO] [stderr] Checking pretty_assertions v1.4.0 [INFO] [stderr] Checking temp-env v0.3.6 [INFO] [stderr] Compiling darling_core v0.20.0 [INFO] [stderr] Compiling serde_derive v1.0.193 [INFO] [stderr] Compiling thiserror-impl v1.0.50 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tokio-macros v2.2.0 [INFO] [stderr] Compiling pear_codegen v0.2.4 [INFO] [stderr] Compiling clap_derive v4.4.7 [INFO] [stderr] Compiling automod v1.0.13 [INFO] [stderr] Compiling test-generator v0.3.1 [INFO] [stderr] Checking tokio v1.35.1 [INFO] [stderr] Checking pear v0.2.4 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking thiserror v1.0.50 [INFO] [stderr] Checking parse-hyperlinks v0.27.2 [INFO] [stderr] Checking inquire v0.6.2 [INFO] [stderr] Compiling darling_macro v0.20.0 [INFO] [stderr] Compiling darling v0.20.0 [INFO] [stderr] Checking clap v4.4.12 [INFO] [stderr] Compiling serde_with_macros v3.4.0 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking tokio-util v0.7.7 [INFO] [stderr] Checking tokio-stream v0.1.14 [INFO] [stderr] Checking indexmap v2.1.0 [INFO] [stderr] Checking byte-unit v5.1.2 [INFO] [stderr] Checking semver v1.0.20 [INFO] [stderr] Checking serde_ignored v0.1.9 [INFO] [stderr] Checking petgraph v0.6.4 [INFO] [stderr] Checking serde_yaml v0.9.29 [INFO] [stderr] Checking serde_with v3.4.0 [INFO] [stderr] Checking haddock v0.2.1 (/opt/rustwide/workdir) [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1279:1 [INFO] [stdout] | [INFO] [stdout] 1279 | / serde_conv!( [INFO] [stdout] 1280 | | DependsOnVec, [INFO] [stdout] 1281 | | IndexMap, [INFO] [stdout] 1282 | | |dependencies: &IndexMap| { [INFO] [stdout] ... | [INFO] [stdout] 1298 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1285:58 [INFO] [stdout] | [INFO] [stdout] 1285 | |dependencies: Vec| -> Result<_, Infallible> { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 1286 | | Ok(dependencies [INFO] [stdout] 1287 | | .into_iter() [INFO] [stdout] 1288 | | .map(|dependency| { [INFO] [stdout] ... | [INFO] [stdout] 1296 | | .collect::>()) [INFO] [stdout] 1297 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1286:9 [INFO] [stdout] | [INFO] [stdout] 1286 | / Ok(dependencies [INFO] [stdout] 1287 | | .into_iter() [INFO] [stdout] 1288 | | .map(|dependency| { [INFO] [stdout] ... | [INFO] [stdout] 1295 | | }) [INFO] [stdout] 1296 | | .collect::>()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1322:1 [INFO] [stdout] | [INFO] [stdout] 1322 | / serde_conv!( [INFO] [stdout] 1323 | | FileReferenceOrString, [INFO] [stdout] 1324 | | FileReference, [INFO] [stdout] 1325 | | |file_reference: &FileReference| file_reference.source.clone(), [INFO] [stdout] ... | [INFO] [stdout] 1332 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1326:39 [INFO] [stdout] | [INFO] [stdout] 1326 | |source| -> Result<_, Infallible> { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 1327 | | Ok(FileReference { [INFO] [stdout] 1328 | | source, [INFO] [stdout] 1329 | | ..FileReference::default() [INFO] [stdout] 1330 | | }) [INFO] [stdout] 1331 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1327:9 [INFO] [stdout] | [INFO] [stdout] 1327 | / Ok(FileReference { [INFO] [stdout] 1328 | | source, [INFO] [stdout] 1329 | | ..FileReference::default() [INFO] [stdout] 1330 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1334:1 [INFO] [stdout] | [INFO] [stdout] 1334 | / serde_conv!( [INFO] [stdout] 1335 | | MappingWithColonEmpty, [INFO] [stdout] 1336 | | IndexMap, [INFO] [stdout] 1337 | | |variables: &IndexMap| { [INFO] [stdout] ... | [INFO] [stdout] 1361 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1349:55 [INFO] [stdout] | [INFO] [stdout] 1349 | |variables: Vec| -> Result<_, Infallible> { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 1350 | | Ok(variables [INFO] [stdout] 1351 | | .into_iter() [INFO] [stdout] 1352 | | .map(|variable| { [INFO] [stdout] ... | [INFO] [stdout] 1359 | | .collect::>()) [INFO] [stdout] 1360 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1350:9 [INFO] [stdout] | [INFO] [stdout] 1350 | / Ok(variables [INFO] [stdout] 1351 | | .into_iter() [INFO] [stdout] 1352 | | .map(|variable| { [INFO] [stdout] 1353 | | let mut parts = variable.split(':'); [INFO] [stdout] ... | [INFO] [stdout] 1358 | | }) [INFO] [stdout] 1359 | | .collect::>()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1363:1 [INFO] [stdout] | [INFO] [stdout] 1363 | / serde_conv!( [INFO] [stdout] 1364 | | MappingWithEqualsEmpty, [INFO] [stdout] 1365 | | IndexMap, [INFO] [stdout] 1366 | | |variables: &IndexMap| { [INFO] [stdout] ... | [INFO] [stdout] 1390 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1378:55 [INFO] [stdout] | [INFO] [stdout] 1378 | |variables: Vec| -> Result<_, Infallible> { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 1379 | | Ok(variables [INFO] [stdout] 1380 | | .into_iter() [INFO] [stdout] 1381 | | .map(|variable| { [INFO] [stdout] ... | [INFO] [stdout] 1388 | | .collect::>()) [INFO] [stdout] 1389 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1379:9 [INFO] [stdout] | [INFO] [stdout] 1379 | / Ok(variables [INFO] [stdout] 1380 | | .into_iter() [INFO] [stdout] 1381 | | .map(|variable| { [INFO] [stdout] 1382 | | let mut parts = variable.split('='); [INFO] [stdout] ... | [INFO] [stdout] 1387 | | }) [INFO] [stdout] 1388 | | .collect::>()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1420:1 [INFO] [stdout] | [INFO] [stdout] 1420 | / serde_conv!( [INFO] [stdout] 1421 | | MappingWithEqualsNull, [INFO] [stdout] 1422 | | IndexMap>, [INFO] [stdout] 1423 | | |variables: &IndexMap>| { [INFO] [stdout] ... | [INFO] [stdout] 1444 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1432:55 [INFO] [stdout] | [INFO] [stdout] 1432 | |variables: Vec| -> Result<_, Infallible> { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 1433 | | Ok(variables [INFO] [stdout] 1434 | | .into_iter() [INFO] [stdout] 1435 | | .map(|variable| { [INFO] [stdout] ... | [INFO] [stdout] 1442 | | .collect::>()) [INFO] [stdout] 1443 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1433:9 [INFO] [stdout] | [INFO] [stdout] 1433 | / Ok(variables [INFO] [stdout] 1434 | | .into_iter() [INFO] [stdout] 1435 | | .map(|variable| { [INFO] [stdout] 1436 | | let mut parts = variable.split('='); [INFO] [stdout] ... | [INFO] [stdout] 1441 | | }) [INFO] [stdout] 1442 | | .collect::>()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1446:1 [INFO] [stdout] | [INFO] [stdout] 1446 | / serde_conv!( [INFO] [stdout] 1447 | | NetworksVec, [INFO] [stdout] 1448 | | IndexMap>, [INFO] [stdout] 1449 | | |networks: &IndexMap>| { [INFO] [stdout] ... | [INFO] [stdout] 1458 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1452:54 [INFO] [stdout] | [INFO] [stdout] 1452 | |networks: Vec| -> Result<_, Infallible> { [INFO] [stdout] | ______________________________________________________^ [INFO] [stdout] 1453 | | Ok(networks [INFO] [stdout] 1454 | | .into_iter() [INFO] [stdout] 1455 | | .map(|network| (network, None)) [INFO] [stdout] 1456 | | .collect::>()) [INFO] [stdout] 1457 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1453:9 [INFO] [stdout] | [INFO] [stdout] 1453 | / Ok(networks [INFO] [stdout] 1454 | | .into_iter() [INFO] [stdout] 1455 | | .map(|network| (network, None)) [INFO] [stdout] 1456 | | .collect::>()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1460:66 [INFO] [stdout] | [INFO] [stdout] 1460 | pub(crate) fn parse_port(port: &str) -> Result { [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 1461 | | let mut parts = port.split(':').rev(); [INFO] [stdout] 1462 | | let container_port = parts.next().unwrap(); [INFO] [stdout] 1463 | | let mut container_parts = container_port.split('/'); [INFO] [stdout] ... | [INFO] [stdout] 1479 | | }) [INFO] [stdout] 1480 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1466:5 [INFO] [stdout] | [INFO] [stdout] 1466 | / Ok(Port { [INFO] [stdout] 1467 | | target, [INFO] [stdout] 1468 | | published: parts.next().and_then(|part| { [INFO] [stdout] 1469 | | if part.is_empty() { [INFO] [stdout] ... | [INFO] [stdout] 1478 | | .map_or_else(|| String::from("tcp"), ToString::to_string), [INFO] [stdout] 1479 | | }) [INFO] [stdout] | |______^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1482:1 [INFO] [stdout] | [INFO] [stdout] 1482 | / serde_conv!(PortOrString, Port, ToString::to_string, |port: String| { [INFO] [stdout] 1483 | | parse_port(&port) [INFO] [stdout] 1484 | | }); [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1482:69 [INFO] [stdout] | [INFO] [stdout] 1482 | serde_conv!(PortOrString, Port, ToString::to_string, |port: String| { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 1483 | | parse_port(&port) [INFO] [stdout] 1484 | | }); [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1483:5 [INFO] [stdout] | [INFO] [stdout] 1483 | parse_port(&port) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1486:1 [INFO] [stdout] | [INFO] [stdout] 1486 | / serde_conv!( [INFO] [stdout] 1487 | | PortOrU16, [INFO] [stdout] 1488 | | Port, [INFO] [stdout] 1489 | | |port: &Port| port.target.parse::().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 1497 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1490:44 [INFO] [stdout] | [INFO] [stdout] 1490 | |target: u16| -> Result<_, Infallible> { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 1491 | | Ok(Port { [INFO] [stdout] 1492 | | target: target.to_string(), [INFO] [stdout] 1493 | | protocol: String::from("tcp"), [INFO] [stdout] 1494 | | ..Port::default() [INFO] [stdout] 1495 | | }) [INFO] [stdout] 1496 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1491:9 [INFO] [stdout] | [INFO] [stdout] 1491 | / Ok(Port { [INFO] [stdout] 1492 | | target: target.to_string(), [INFO] [stdout] 1493 | | protocol: String::from("tcp"), [INFO] [stdout] 1494 | | ..Port::default() [INFO] [stdout] 1495 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result)>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1499:1 [INFO] [stdout] | [INFO] [stdout] 1499 | / serde_conv!( [INFO] [stdout] 1500 | | SecurityOptVec, [INFO] [stdout] 1501 | | Vec<(String, Option)>, [INFO] [stdout] 1502 | | |security_opts: &Vec<(String, Option)>| { [INFO] [stdout] ... | [INFO] [stdout] 1529 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result)>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1514:59 [INFO] [stdout] | [INFO] [stdout] 1514 | |security_opts: Vec| -> Result<_, Infallible> { [INFO] [stdout] | ___________________________________________________________^ [INFO] [stdout] 1515 | | Ok(security_opts [INFO] [stdout] 1516 | | .into_iter() [INFO] [stdout] 1517 | | .map(|security_opt| { [INFO] [stdout] ... | [INFO] [stdout] 1527 | | .collect::>()) [INFO] [stdout] 1528 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result)>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1515:9 [INFO] [stdout] | [INFO] [stdout] 1515 | / Ok(security_opts [INFO] [stdout] 1516 | | .into_iter() [INFO] [stdout] 1517 | | .map(|security_opt| { [INFO] [stdout] 1518 | | if let Some(idx) = security_opt.find(':') { [INFO] [stdout] ... | [INFO] [stdout] 1526 | | }) [INFO] [stdout] 1527 | | .collect::>()) [INFO] [stdout] | |_________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `haddock` (bin "haddock") due to 29 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1279:1 [INFO] [stdout] | [INFO] [stdout] 1279 | / serde_conv!( [INFO] [stdout] 1280 | | DependsOnVec, [INFO] [stdout] 1281 | | IndexMap, [INFO] [stdout] 1282 | | |dependencies: &IndexMap| { [INFO] [stdout] ... | [INFO] [stdout] 1298 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1285:58 [INFO] [stdout] | [INFO] [stdout] 1285 | |dependencies: Vec| -> Result<_, Infallible> { [INFO] [stdout] | __________________________________________________________^ [INFO] [stdout] 1286 | | Ok(dependencies [INFO] [stdout] 1287 | | .into_iter() [INFO] [stdout] 1288 | | .map(|dependency| { [INFO] [stdout] ... | [INFO] [stdout] 1296 | | .collect::>()) [INFO] [stdout] 1297 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1286:9 [INFO] [stdout] | [INFO] [stdout] 1286 | / Ok(dependencies [INFO] [stdout] 1287 | | .into_iter() [INFO] [stdout] 1288 | | .map(|dependency| { [INFO] [stdout] ... | [INFO] [stdout] 1295 | | }) [INFO] [stdout] 1296 | | .collect::>()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1322:1 [INFO] [stdout] | [INFO] [stdout] 1322 | / serde_conv!( [INFO] [stdout] 1323 | | FileReferenceOrString, [INFO] [stdout] 1324 | | FileReference, [INFO] [stdout] 1325 | | |file_reference: &FileReference| file_reference.source.clone(), [INFO] [stdout] ... | [INFO] [stdout] 1332 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1326:39 [INFO] [stdout] | [INFO] [stdout] 1326 | |source| -> Result<_, Infallible> { [INFO] [stdout] | _______________________________________^ [INFO] [stdout] 1327 | | Ok(FileReference { [INFO] [stdout] 1328 | | source, [INFO] [stdout] 1329 | | ..FileReference::default() [INFO] [stdout] 1330 | | }) [INFO] [stdout] 1331 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1327:9 [INFO] [stdout] | [INFO] [stdout] 1327 | / Ok(FileReference { [INFO] [stdout] 1328 | | source, [INFO] [stdout] 1329 | | ..FileReference::default() [INFO] [stdout] 1330 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1334:1 [INFO] [stdout] | [INFO] [stdout] 1334 | / serde_conv!( [INFO] [stdout] 1335 | | MappingWithColonEmpty, [INFO] [stdout] 1336 | | IndexMap, [INFO] [stdout] 1337 | | |variables: &IndexMap| { [INFO] [stdout] ... | [INFO] [stdout] 1361 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1349:55 [INFO] [stdout] | [INFO] [stdout] 1349 | |variables: Vec| -> Result<_, Infallible> { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 1350 | | Ok(variables [INFO] [stdout] 1351 | | .into_iter() [INFO] [stdout] 1352 | | .map(|variable| { [INFO] [stdout] ... | [INFO] [stdout] 1359 | | .collect::>()) [INFO] [stdout] 1360 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1350:9 [INFO] [stdout] | [INFO] [stdout] 1350 | / Ok(variables [INFO] [stdout] 1351 | | .into_iter() [INFO] [stdout] 1352 | | .map(|variable| { [INFO] [stdout] 1353 | | let mut parts = variable.split(':'); [INFO] [stdout] ... | [INFO] [stdout] 1358 | | }) [INFO] [stdout] 1359 | | .collect::>()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1363:1 [INFO] [stdout] | [INFO] [stdout] 1363 | / serde_conv!( [INFO] [stdout] 1364 | | MappingWithEqualsEmpty, [INFO] [stdout] 1365 | | IndexMap, [INFO] [stdout] 1366 | | |variables: &IndexMap| { [INFO] [stdout] ... | [INFO] [stdout] 1390 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1378:55 [INFO] [stdout] | [INFO] [stdout] 1378 | |variables: Vec| -> Result<_, Infallible> { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 1379 | | Ok(variables [INFO] [stdout] 1380 | | .into_iter() [INFO] [stdout] 1381 | | .map(|variable| { [INFO] [stdout] ... | [INFO] [stdout] 1388 | | .collect::>()) [INFO] [stdout] 1389 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result, Infallible> [INFO] [stdout] --> src/compose/types.rs:1379:9 [INFO] [stdout] | [INFO] [stdout] 1379 | / Ok(variables [INFO] [stdout] 1380 | | .into_iter() [INFO] [stdout] 1381 | | .map(|variable| { [INFO] [stdout] 1382 | | let mut parts = variable.split('='); [INFO] [stdout] ... | [INFO] [stdout] 1387 | | }) [INFO] [stdout] 1388 | | .collect::>()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1420:1 [INFO] [stdout] | [INFO] [stdout] 1420 | / serde_conv!( [INFO] [stdout] 1421 | | MappingWithEqualsNull, [INFO] [stdout] 1422 | | IndexMap>, [INFO] [stdout] 1423 | | |variables: &IndexMap>| { [INFO] [stdout] ... | [INFO] [stdout] 1444 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1432:55 [INFO] [stdout] | [INFO] [stdout] 1432 | |variables: Vec| -> Result<_, Infallible> { [INFO] [stdout] | _______________________________________________________^ [INFO] [stdout] 1433 | | Ok(variables [INFO] [stdout] 1434 | | .into_iter() [INFO] [stdout] 1435 | | .map(|variable| { [INFO] [stdout] ... | [INFO] [stdout] 1442 | | .collect::>()) [INFO] [stdout] 1443 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1433:9 [INFO] [stdout] | [INFO] [stdout] 1433 | / Ok(variables [INFO] [stdout] 1434 | | .into_iter() [INFO] [stdout] 1435 | | .map(|variable| { [INFO] [stdout] 1436 | | let mut parts = variable.split('='); [INFO] [stdout] ... | [INFO] [stdout] 1441 | | }) [INFO] [stdout] 1442 | | .collect::>()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1446:1 [INFO] [stdout] | [INFO] [stdout] 1446 | / serde_conv!( [INFO] [stdout] 1447 | | NetworksVec, [INFO] [stdout] 1448 | | IndexMap>, [INFO] [stdout] 1449 | | |networks: &IndexMap>| { [INFO] [stdout] ... | [INFO] [stdout] 1458 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1452:54 [INFO] [stdout] | [INFO] [stdout] 1452 | |networks: Vec| -> Result<_, Infallible> { [INFO] [stdout] | ______________________________________________________^ [INFO] [stdout] 1453 | | Ok(networks [INFO] [stdout] 1454 | | .into_iter() [INFO] [stdout] 1455 | | .map(|network| (network, None)) [INFO] [stdout] 1456 | | .collect::>()) [INFO] [stdout] 1457 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1453:9 [INFO] [stdout] | [INFO] [stdout] 1453 | / Ok(networks [INFO] [stdout] 1454 | | .into_iter() [INFO] [stdout] 1455 | | .map(|network| (network, None)) [INFO] [stdout] 1456 | | .collect::>()) [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1460:66 [INFO] [stdout] | [INFO] [stdout] 1460 | pub(crate) fn parse_port(port: &str) -> Result { [INFO] [stdout] | __________________________________________________________________^ [INFO] [stdout] 1461 | | let mut parts = port.split(':').rev(); [INFO] [stdout] 1462 | | let container_port = parts.next().unwrap(); [INFO] [stdout] 1463 | | let mut container_parts = container_port.split('/'); [INFO] [stdout] ... | [INFO] [stdout] 1479 | | }) [INFO] [stdout] 1480 | | } [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1466:5 [INFO] [stdout] | [INFO] [stdout] 1466 | / Ok(Port { [INFO] [stdout] 1467 | | target, [INFO] [stdout] 1468 | | published: parts.next().and_then(|part| { [INFO] [stdout] 1469 | | if part.is_empty() { [INFO] [stdout] ... | [INFO] [stdout] 1478 | | .map_or_else(|| String::from("tcp"), ToString::to_string), [INFO] [stdout] 1479 | | }) [INFO] [stdout] | |______^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1482:1 [INFO] [stdout] | [INFO] [stdout] 1482 | / serde_conv!(PortOrString, Port, ToString::to_string, |port: String| { [INFO] [stdout] 1483 | | parse_port(&port) [INFO] [stdout] 1484 | | }); [INFO] [stdout] | |__^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1482:69 [INFO] [stdout] | [INFO] [stdout] 1482 | serde_conv!(PortOrString, Port, ToString::to_string, |port: String| { [INFO] [stdout] | _____________________________________________________________________^ [INFO] [stdout] 1483 | | parse_port(&port) [INFO] [stdout] 1484 | | }); [INFO] [stdout] | |_^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1483:5 [INFO] [stdout] | [INFO] [stdout] 1483 | parse_port(&port) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1486:1 [INFO] [stdout] | [INFO] [stdout] 1486 | / serde_conv!( [INFO] [stdout] 1487 | | PortOrU16, [INFO] [stdout] 1488 | | Port, [INFO] [stdout] 1489 | | |port: &Port| port.target.parse::().unwrap(), [INFO] [stdout] ... | [INFO] [stdout] 1497 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1490:44 [INFO] [stdout] | [INFO] [stdout] 1490 | |target: u16| -> Result<_, Infallible> { [INFO] [stdout] | ____________________________________________^ [INFO] [stdout] 1491 | | Ok(Port { [INFO] [stdout] 1492 | | target: target.to_string(), [INFO] [stdout] 1493 | | protocol: String::from("tcp"), [INFO] [stdout] 1494 | | ..Port::default() [INFO] [stdout] 1495 | | }) [INFO] [stdout] 1496 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/compose/types.rs:1491:9 [INFO] [stdout] | [INFO] [stdout] 1491 | / Ok(Port { [INFO] [stdout] 1492 | | target: target.to_string(), [INFO] [stdout] 1493 | | protocol: String::from("tcp"), [INFO] [stdout] 1494 | | ..Port::default() [INFO] [stdout] 1495 | | }) [INFO] [stdout] | |__________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result)>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1499:1 [INFO] [stdout] | [INFO] [stdout] 1499 | / serde_conv!( [INFO] [stdout] 1500 | | SecurityOptVec, [INFO] [stdout] 1501 | | Vec<(String, Option)>, [INFO] [stdout] 1502 | | |security_opts: &Vec<(String, Option)>| { [INFO] [stdout] ... | [INFO] [stdout] 1529 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `$crate::serde_conv` which comes from the expansion of the macro `serde_conv` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result)>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1514:59 [INFO] [stdout] | [INFO] [stdout] 1514 | |security_opts: Vec| -> Result<_, Infallible> { [INFO] [stdout] | ___________________________________________________________^ [INFO] [stdout] 1515 | | Ok(security_opts [INFO] [stdout] 1516 | | .into_iter() [INFO] [stdout] 1517 | | .map(|security_opt| { [INFO] [stdout] ... | [INFO] [stdout] 1527 | | .collect::>()) [INFO] [stdout] 1528 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result)>, Infallible> [INFO] [stdout] --> src/compose/types.rs:1515:9 [INFO] [stdout] | [INFO] [stdout] 1515 | / Ok(security_opts [INFO] [stdout] 1516 | | .into_iter() [INFO] [stdout] 1517 | | .map(|security_opt| { [INFO] [stdout] 1518 | | if let Some(idx) = security_opt.find(':') { [INFO] [stdout] ... | [INFO] [stdout] 1526 | | }) [INFO] [stdout] 1527 | | .collect::>()) [INFO] [stdout] | |_________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `haddock` (bin "haddock" test) due to 29 previous errors [INFO] running `Command { std: "docker" "inspect" "425a888ac21dc523f0343defcc3fe78f793f909e0e5d641ed63d3e00d5930ece", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "425a888ac21dc523f0343defcc3fe78f793f909e0e5d641ed63d3e00d5930ece", kill_on_drop: false }` [INFO] [stdout] 425a888ac21dc523f0343defcc3fe78f793f909e0e5d641ed63d3e00d5930ece