[INFO] fetching crate mail-parser 0.9.2... [INFO] checking mail-parser-0.9.2 against master#35936c4839dd272646394779d151e060d0f6b3ac for pr-122960-1 [INFO] extracting crate mail-parser 0.9.2 into /workspace/builds/worker-1-tc1/source [INFO] validating manifest of crates.io crate mail-parser 0.9.2 on toolchain 35936c4839dd272646394779d151e060d0f6b3ac [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+35936c4839dd272646394779d151e060d0f6b3ac" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate mail-parser 0.9.2 [INFO] finished tweaking crates.io crate mail-parser 0.9.2 [INFO] tweaked toml for crates.io crate mail-parser 0.9.2 written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate crates.io crate mail-parser 0.9.2 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" "+35936c4839dd272646394779d151e060d0f6b3ac" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded chrono v0.4.26 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+35936c4839dd272646394779d151e060d0f6b3ac" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d9301b6824e97630122b6298e831c1cfa87b2f270fb3a98af3376e2b626bf4db [INFO] running `Command { std: "docker" "start" "-a" "d9301b6824e97630122b6298e831c1cfa87b2f270fb3a98af3376e2b626bf4db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d9301b6824e97630122b6298e831c1cfa87b2f270fb3a98af3376e2b626bf4db", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d9301b6824e97630122b6298e831c1cfa87b2f270fb3a98af3376e2b626bf4db", kill_on_drop: false }` [INFO] [stdout] d9301b6824e97630122b6298e831c1cfa87b2f270fb3a98af3376e2b626bf4db [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+35936c4839dd272646394779d151e060d0f6b3ac" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0038285874a5e332eeb34448b82fb4cb2e80aea72751cf8a75de0e5929b10e8d [INFO] running `Command { std: "docker" "start" "-a" "0038285874a5e332eeb34448b82fb4cb2e80aea72751cf8a75de0e5929b10e8d", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.164 [INFO] [stderr] Checking iana-time-zone v0.1.57 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Checking encoding_rs v0.8.32 [INFO] [stderr] Checking time v0.1.45 [INFO] [stderr] Compiling serde_derive v1.0.164 [INFO] [stderr] Checking chrono v0.4.26 [INFO] [stderr] Checking mail-parser v0.9.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `TryInto` is imported redundantly [INFO] [stdout] --> src/core/message.rs:12:24 [INFO] [stdout] | [INFO] [stdout] 12 | use std::{borrow::Cow, convert::TryInto}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryInto` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking serde_json v1.0.99 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stdout] error[E0277]: the trait bound `mail_parser::Message<'_>: serde::ser::Serialize` is not satisfied [INFO] [stdout] --> examples/message_parse.rs:143:49 [INFO] [stdout] | [INFO] [stdout] 143 | println!("{}", serde_json::to_string_pretty(&message).unwrap()); [INFO] [stdout] | ---------------------------- ^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `mail_parser::Message<'_>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `serde::ser::Serialize`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 127 others [INFO] [stdout] note: required by a bound in `to_string_pretty` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.99/src/ser.rs:2164:17 [INFO] [stdout] | [INFO] [stdout] 2162 | pub fn to_string_pretty(value: &T) -> Result [INFO] [stdout] | ---------------- required by a bound in this function [INFO] [stdout] 2163 | where [INFO] [stdout] 2164 | T: ?Sized + Serialize, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `to_string_pretty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mail-parser` (example "message_parse") due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0277]: the trait bound `mail_parser::Message<'_>: serde::ser::Serialize` is not satisfied [INFO] [stdout] --> examples/mailbox_parse_mbox.rs:22:46 [INFO] [stdout] | [INFO] [stdout] 22 | println!("{}", serde_json::to_string(&message).unwrap()); [INFO] [stdout] | --------------------- ^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `mail_parser::Message<'_>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `serde::ser::Serialize`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 127 others [INFO] [stdout] note: required by a bound in `serde_json::to_string` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.99/src/ser.rs:2145:17 [INFO] [stdout] | [INFO] [stdout] 2143 | pub fn to_string(value: &T) -> Result [INFO] [stdout] | --------- required by a bound in this function [INFO] [stdout] 2144 | where [INFO] [stdout] 2145 | T: ?Sized + Serialize, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `to_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mail-parser` (example "mailbox_parse_mbox") due to 2 previous errors [INFO] [stdout] error[E0277]: the trait bound `mail_parser::Header<'_>: serde::de::Deserialize<'_>` is not satisfied [INFO] [stdout] --> tests/integration_test.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | / bincode::deserialize::>( [INFO] [stdout] 74 | | &bincode::serialize(&message.parts[0].headers).unwrap() [INFO] [stdout] 75 | | ) [INFO] [stdout] | |_________^ the trait `serde::de::Deserialize<'_>` is not implemented for `mail_parser::Header<'_>`, which is required by `Vec>: serde::de::Deserialize<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `serde::de::Deserialize<'de>`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 124 others [INFO] [stdout] = note: required for `Vec>` to implement `serde::de::Deserialize<'_>` [INFO] [stdout] note: required by a bound in `bincode::deserialize` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bincode-1.3.3/src/lib.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn deserialize<'a, T>(bytes: &'a [u8]) -> Result [INFO] [stdout] | ----------- required by a bound in this function [INFO] [stdout] 178 | where [INFO] [stdout] 179 | T: serde::de::Deserialize<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `deserialize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `mail_parser::Header<'_>: serde::ser::Serialize` is not satisfied [INFO] [stdout] --> tests/integration_test.rs:74:33 [INFO] [stdout] | [INFO] [stdout] 74 | &bincode::serialize(&message.parts[0].headers).unwrap() [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `mail_parser::Header<'_>`, which is required by `Vec>: serde::ser::Serialize` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `serde::ser::Serialize`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 124 others [INFO] [stdout] = note: required for `Vec>` to implement `serde::ser::Serialize` [INFO] [stdout] note: required by a bound in `bincode::serialize` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bincode-1.3.3/src/lib.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn serialize(value: &T) -> Result> [INFO] [stdout] | --------- required by a bound in this function [INFO] [stdout] 107 | where [INFO] [stdout] 108 | T: serde::Serialize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ required by this bound in `serialize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mail-parser` (test "integration_test") due to 3 previous errors [INFO] [stdout] warning: the item `TryInto` is imported redundantly [INFO] [stdout] --> src/core/message.rs:12:24 [INFO] [stdout] | [INFO] [stdout] 12 | use std::{borrow::Cow, convert::TryInto}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/35936c4839dd272646394779d151e060d0f6b3ac/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryInto` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Address<'_>: DeserializeOwned` is not satisfied [INFO] [stdout] --> src/parsers/fields/address.rs:471:21 [INFO] [stdout] | [INFO] [stdout] 471 | for test in load_tests("address.json") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `Address<'_>`, which is required by `Address<'_>: DeserializeOwned` [INFO] [stdout] | [INFO] [stdout] = note: required for `Address<'_>` to implement `DeserializeOwned` [INFO] [stdout] note: required by a bound in `load_tests` [INFO] [stdout] --> src/parsers/fields/mod.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn load_tests(test_name: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `load_tests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `ContentType<'_>: Deserialize<'_>` is not satisfied [INFO] [stdout] --> src/parsers/fields/content_type.rs:521:21 [INFO] [stdout] | [INFO] [stdout] 521 | for test in load_tests("content_type.json") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ContentType<'_>`, which is required by `std::option::Option>: DeserializeOwned` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Deserialize<'de>`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 129 others [INFO] [stdout] = note: required for `std::option::Option>` to implement `for<'de> Deserialize<'de>` [INFO] [stdout] = note: required for `std::option::Option>` to implement `DeserializeOwned` [INFO] [stdout] note: required by a bound in `load_tests` [INFO] [stdout] --> src/parsers/fields/mod.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn load_tests(test_name: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `load_tests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `DateTime: Deserialize<'_>` is not satisfied [INFO] [stdout] --> src/parsers/fields/date.rs:470:21 [INFO] [stdout] | [INFO] [stdout] 470 | for test in load_tests("date.json") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `DateTime`, which is required by `std::option::Option: DeserializeOwned` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Deserialize<'de>`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 129 others [INFO] [stdout] = note: required for `std::option::Option` to implement `for<'de> Deserialize<'de>` [INFO] [stdout] = note: required for `std::option::Option` to implement `DeserializeOwned` [INFO] [stdout] note: required by a bound in `load_tests` [INFO] [stdout] --> src/parsers/fields/mod.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn load_tests(test_name: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `load_tests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Received<'_>: DeserializeOwned` is not satisfied [INFO] [stdout] --> src/parsers/fields/received.rs:849:21 [INFO] [stdout] | [INFO] [stdout] 849 | for test in load_tests("received.json") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `Received<'_>`, which is required by `Received<'_>: DeserializeOwned` [INFO] [stdout] | [INFO] [stdout] = note: required for `Received<'_>` to implement `DeserializeOwned` [INFO] [stdout] note: required by a bound in `load_tests` [INFO] [stdout] --> src/parsers/fields/mod.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn load_tests(test_name: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `load_tests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Message<'_>: Serialize` is not satisfied [INFO] [stdout] --> src/parsers/message.rs:623:69 [INFO] [stdout] | [INFO] [stdout] 623 | let json_message = serde_json::to_string_pretty(&message).unwrap(); [INFO] [stdout] | ---------------------------- ^^^^^^^^ the trait `Serialize` is not implemented for `Message<'_>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Serialize`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 128 others [INFO] [stdout] note: required by a bound in `to_string_pretty` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.99/src/ser.rs:2164:17 [INFO] [stdout] | [INFO] [stdout] 2162 | pub fn to_string_pretty(value: &T) -> Result [INFO] [stdout] | ---------------- required by a bound in this function [INFO] [stdout] 2163 | where [INFO] [stdout] 2164 | T: ?Sized + Serialize, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `to_string_pretty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Message<'_>: Serialize` is not satisfied [INFO] [stdout] --> src/parsers/message.rs:640:69 [INFO] [stdout] | [INFO] [stdout] 640 | let json_message = serde_json::to_string_pretty(&message).unwrap(); [INFO] [stdout] | ---------------------------- ^^^^^^^^ the trait `Serialize` is not implemented for `Message<'_>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Serialize`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 128 others [INFO] [stdout] note: required by a bound in `to_string_pretty` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.99/src/ser.rs:2164:17 [INFO] [stdout] | [INFO] [stdout] 2162 | pub fn to_string_pretty(value: &T) -> Result [INFO] [stdout] | ---------------- required by a bound in this function [INFO] [stdout] 2163 | where [INFO] [stdout] 2164 | T: ?Sized + Serialize, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `to_string_pretty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mail-parser` (lib test) due to 7 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "0038285874a5e332eeb34448b82fb4cb2e80aea72751cf8a75de0e5929b10e8d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0038285874a5e332eeb34448b82fb4cb2e80aea72751cf8a75de0e5929b10e8d", kill_on_drop: false }` [INFO] [stdout] 0038285874a5e332eeb34448b82fb4cb2e80aea72751cf8a75de0e5929b10e8d [INFO] checking mail-parser-0.9.2 against try#9ae1860851f3fbc1435a1698e572252c0076f413 for pr-122960-1 [INFO] extracting crate mail-parser 0.9.2 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate mail-parser 0.9.2 on toolchain 9ae1860851f3fbc1435a1698e572252c0076f413 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9ae1860851f3fbc1435a1698e572252c0076f413" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate mail-parser 0.9.2 [INFO] finished tweaking crates.io crate mail-parser 0.9.2 [INFO] tweaked toml for crates.io crate mail-parser 0.9.2 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate mail-parser 0.9.2 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" "+9ae1860851f3fbc1435a1698e572252c0076f413" "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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+9ae1860851f3fbc1435a1698e572252c0076f413" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c05ea7cd403c95be5aa99c206bd2a72d40336bc20f059a84656f40d082ecada1 [INFO] running `Command { std: "docker" "start" "-a" "c05ea7cd403c95be5aa99c206bd2a72d40336bc20f059a84656f40d082ecada1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c05ea7cd403c95be5aa99c206bd2a72d40336bc20f059a84656f40d082ecada1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c05ea7cd403c95be5aa99c206bd2a72d40336bc20f059a84656f40d082ecada1", kill_on_drop: false }` [INFO] [stdout] c05ea7cd403c95be5aa99c206bd2a72d40336bc20f059a84656f40d082ecada1 [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" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+9ae1860851f3fbc1435a1698e572252c0076f413" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 8788e03e81026afa180f8c654e1f463b6e43dc6c5157fab5659b486f3307b408 [INFO] running `Command { std: "docker" "start" "-a" "8788e03e81026afa180f8c654e1f463b6e43dc6c5157fab5659b486f3307b408", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Compiling serde v1.0.164 [INFO] [stderr] Checking iana-time-zone v0.1.57 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Checking encoding_rs v0.8.32 [INFO] [stderr] Compiling syn v2.0.22 [INFO] [stderr] Checking time v0.1.45 [INFO] [stderr] Checking chrono v0.4.26 [INFO] [stderr] Checking mail-parser v0.9.2 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Compiling serde_derive v1.0.164 [INFO] [stdout] warning: the item `TryInto` is imported redundantly [INFO] [stdout] --> src/core/message.rs:12:24 [INFO] [stdout] | [INFO] [stdout] 12 | use std::{borrow::Cow, convert::TryInto}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryInto` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking serde_json v1.0.99 [INFO] [stderr] Migrating examples/mailbox_parse_mbox.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/mailbox_iterate_maildir.rs from 2021 edition to 2024 [INFO] [stdout] error[E0277]: the trait bound `mail_parser::Message<'_>: serde::ser::Serialize` is not satisfied [INFO] [stdout] --> examples/mailbox_parse_mbox.rs:22:46 [INFO] [stdout] | [INFO] [stdout] 22 | println!("{}", serde_json::to_string(&message).unwrap()); [INFO] [stdout] | --------------------- ^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `mail_parser::Message<'_>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `serde::ser::Serialize`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 127 others [INFO] [stdout] note: required by a bound in `serde_json::to_string` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.99/src/ser.rs:2145:17 [INFO] [stdout] | [INFO] [stdout] 2143 | pub fn to_string(value: &T) -> Result [INFO] [stdout] | --------- required by a bound in this function [INFO] [stdout] 2144 | where [INFO] [stdout] 2145 | T: ?Sized + Serialize, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `to_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mail-parser` (example "mailbox_parse_mbox") due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] Migrating tests/integration_test.rs from 2021 edition to 2024 [INFO] [stdout] error[E0277]: the trait bound `mail_parser::Header<'_>: serde::de::Deserialize<'_>` is not satisfied [INFO] [stdout] --> tests/integration_test.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | / bincode::deserialize::>( [INFO] [stdout] 74 | | &bincode::serialize(&message.parts[0].headers).unwrap() [INFO] [stdout] 75 | | ) [INFO] [stdout] | |_________^ the trait `serde::de::Deserialize<'_>` is not implemented for `mail_parser::Header<'_>`, which is required by `Vec>: serde::de::Deserialize<'_>` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `serde::de::Deserialize<'de>`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 124 others [INFO] [stdout] = note: required for `Vec>` to implement `serde::de::Deserialize<'_>` [INFO] [stdout] note: required by a bound in `bincode::deserialize` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bincode-1.3.3/src/lib.rs:179:8 [INFO] [stdout] | [INFO] [stdout] 177 | pub fn deserialize<'a, T>(bytes: &'a [u8]) -> Result [INFO] [stdout] | ----------- required by a bound in this function [INFO] [stdout] 178 | where [INFO] [stdout] 179 | T: serde::de::Deserialize<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `deserialize` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating examples/message_write_attachments.rs from 2021 edition to 2024 [INFO] [stdout] error[E0277]: the trait bound `mail_parser::Header<'_>: serde::ser::Serialize` is not satisfied [INFO] [stdout] --> tests/integration_test.rs:74:33 [INFO] [stdout] | [INFO] [stdout] 74 | &bincode::serialize(&message.parts[0].headers).unwrap() [INFO] [stdout] | ------------------ ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `mail_parser::Header<'_>`, which is required by `Vec>: serde::ser::Serialize` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `serde::ser::Serialize`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 124 others [INFO] [stdout] = note: required for `Vec>` to implement `serde::ser::Serialize` [INFO] [stdout] note: required by a bound in `bincode::serialize` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/bincode-1.3.3/src/lib.rs:108:8 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn serialize(value: &T) -> Result> [INFO] [stdout] | --------- required by a bound in this function [INFO] [stdout] 107 | where [INFO] [stdout] 108 | T: serde::Serialize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ required by this bound in `serialize` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mail-parser` (test "integration_test") due to 3 previous errors [INFO] [stderr] Migrating examples/custom_parser.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/message_parse.rs from 2021 edition to 2024 [INFO] [stdout] error[E0277]: the trait bound `mail_parser::Message<'_>: serde::ser::Serialize` is not satisfied [INFO] [stdout] --> examples/message_parse.rs:143:49 [INFO] [stdout] | [INFO] [stdout] 143 | println!("{}", serde_json::to_string_pretty(&message).unwrap()); [INFO] [stdout] | ---------------------------- ^^^^^^^^ the trait `serde::ser::Serialize` is not implemented for `mail_parser::Message<'_>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `serde::ser::Serialize`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 127 others [INFO] [stdout] note: required by a bound in `to_string_pretty` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.99/src/ser.rs:2164:17 [INFO] [stdout] | [INFO] [stdout] 2162 | pub fn to_string_pretty(value: &T) -> Result [INFO] [stdout] | ---------------- required by a bound in this function [INFO] [stdout] 2163 | where [INFO] [stdout] 2164 | T: ?Sized + Serialize, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `to_string_pretty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `mail-parser` (example "message_parse") due to 2 previous errors [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mail-parser` (lib test) due to 7 previous errors; 1 warning emitted [INFO] [stdout] warning: the item `TryInto` is imported redundantly [INFO] [stdout] --> src/core/message.rs:12:24 [INFO] [stdout] | [INFO] [stdout] 12 | use std::{borrow::Cow, convert::TryInto}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] --> /rustc/9ae1860851f3fbc1435a1698e572252c0076f413/library/std/src/prelude/mod.rs:129:13 [INFO] [stdout] | [INFO] [stdout] = note: the item `TryInto` is already defined here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Address<'_>: DeserializeOwned` is not satisfied [INFO] [stdout] --> src/parsers/fields/address.rs:471:21 [INFO] [stdout] | [INFO] [stdout] 471 | for test in load_tests("address.json") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `Address<'_>`, which is required by `Address<'_>: DeserializeOwned` [INFO] [stdout] | [INFO] [stdout] = note: required for `Address<'_>` to implement `DeserializeOwned` [INFO] [stdout] note: required by a bound in `load_tests` [INFO] [stdout] --> src/parsers/fields/mod.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn load_tests(test_name: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `load_tests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `ContentType<'_>: Deserialize<'_>` is not satisfied [INFO] [stdout] --> src/parsers/fields/content_type.rs:521:21 [INFO] [stdout] | [INFO] [stdout] 521 | for test in load_tests("content_type.json") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `ContentType<'_>`, which is required by `std::option::Option>: DeserializeOwned` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Deserialize<'de>`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 129 others [INFO] [stdout] = note: required for `std::option::Option>` to implement `for<'de> Deserialize<'de>` [INFO] [stdout] = note: required for `std::option::Option>` to implement `DeserializeOwned` [INFO] [stdout] note: required by a bound in `load_tests` [INFO] [stdout] --> src/parsers/fields/mod.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn load_tests(test_name: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `load_tests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `DateTime: Deserialize<'_>` is not satisfied [INFO] [stdout] --> src/parsers/fields/date.rs:470:21 [INFO] [stdout] | [INFO] [stdout] 470 | for test in load_tests("date.json") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `DateTime`, which is required by `std::option::Option: DeserializeOwned` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Deserialize<'de>`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 129 others [INFO] [stdout] = note: required for `std::option::Option` to implement `for<'de> Deserialize<'de>` [INFO] [stdout] = note: required for `std::option::Option` to implement `DeserializeOwned` [INFO] [stdout] note: required by a bound in `load_tests` [INFO] [stdout] --> src/parsers/fields/mod.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn load_tests(test_name: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `load_tests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Received<'_>: DeserializeOwned` is not satisfied [INFO] [stdout] --> src/parsers/fields/received.rs:849:21 [INFO] [stdout] | [INFO] [stdout] 849 | for test in load_tests("received.json") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `for<'de> Deserialize<'de>` is not implemented for `Received<'_>`, which is required by `Received<'_>: DeserializeOwned` [INFO] [stdout] | [INFO] [stdout] = note: required for `Received<'_>` to implement `DeserializeOwned` [INFO] [stdout] note: required by a bound in `load_tests` [INFO] [stdout] --> src/parsers/fields/mod.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 33 | pub fn load_tests(test_name: &str) -> Vec> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `load_tests` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Message<'_>: Serialize` is not satisfied [INFO] [stdout] --> src/parsers/message.rs:623:69 [INFO] [stdout] | [INFO] [stdout] 623 | let json_message = serde_json::to_string_pretty(&message).unwrap(); [INFO] [stdout] | ---------------------------- ^^^^^^^^ the trait `Serialize` is not implemented for `Message<'_>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Serialize`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 128 others [INFO] [stdout] note: required by a bound in `to_string_pretty` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.99/src/ser.rs:2164:17 [INFO] [stdout] | [INFO] [stdout] 2162 | pub fn to_string_pretty(value: &T) -> Result [INFO] [stdout] | ---------------- required by a bound in this function [INFO] [stdout] 2163 | where [INFO] [stdout] 2164 | T: ?Sized + Serialize, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `to_string_pretty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `Message<'_>: Serialize` is not satisfied [INFO] [stdout] --> src/parsers/message.rs:640:69 [INFO] [stdout] | [INFO] [stdout] 640 | let json_message = serde_json::to_string_pretty(&message).unwrap(); [INFO] [stdout] | ---------------------------- ^^^^^^^^ the trait `Serialize` is not implemented for `Message<'_>` [INFO] [stdout] | | [INFO] [stdout] | required by a bound introduced by this call [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `Serialize`: [INFO] [stdout] bool [INFO] [stdout] char [INFO] [stdout] isize [INFO] [stdout] i8 [INFO] [stdout] i16 [INFO] [stdout] i32 [INFO] [stdout] i64 [INFO] [stdout] i128 [INFO] [stdout] and 128 others [INFO] [stdout] note: required by a bound in `to_string_pretty` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.99/src/ser.rs:2164:17 [INFO] [stdout] | [INFO] [stdout] 2162 | pub fn to_string_pretty(value: &T) -> Result [INFO] [stdout] | ---------------- required by a bound in this function [INFO] [stdout] 2163 | where [INFO] [stdout] 2164 | T: ?Sized + Serialize, [INFO] [stdout] | ^^^^^^^^^ required by this bound in `to_string_pretty` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: failed to migrate to next edition [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo fix --edition --allow-no-vcs --allow-dirty --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "8788e03e81026afa180f8c654e1f463b6e43dc6c5157fab5659b486f3307b408", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8788e03e81026afa180f8c654e1f463b6e43dc6c5157fab5659b486f3307b408", kill_on_drop: false }` [INFO] [stdout] 8788e03e81026afa180f8c654e1f463b6e43dc6c5157fab5659b486f3307b408