[INFO] fetching crate fetchttp 1.0.1... [INFO] testing fetchttp-1.0.1 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate fetchttp 1.0.1 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate fetchttp 1.0.1 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate fetchttp 1.0.1 [INFO] tweaked toml for crates.io crate fetchttp 1.0.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate fetchttp 1.0.1 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate fetchttp 1.0.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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4aea3c74b119d2117066a2d66162004330b9cbdcb75ea297bf3d2c7e868b9655 [INFO] running `Command { std: "docker" "start" "-a" "4aea3c74b119d2117066a2d66162004330b9cbdcb75ea297bf3d2c7e868b9655", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4aea3c74b119d2117066a2d66162004330b9cbdcb75ea297bf3d2c7e868b9655", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4aea3c74b119d2117066a2d66162004330b9cbdcb75ea297bf3d2c7e868b9655", kill_on_drop: false }` [INFO] [stdout] 4aea3c74b119d2117066a2d66162004330b9cbdcb75ea297bf3d2c7e868b9655 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 72b1201fe3e54a0f1e46f7048ff38e48f4fe3b65ae682f1689ed6bdf51a6e457 [INFO] running `Command { std: "docker" "start" "-a" "72b1201fe3e54a0f1e46f7048ff38e48f4fe3b65ae682f1689ed6bdf51a6e457", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling zmij v1.0.17 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling openssl v0.10.75 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling native-tls v0.2.14 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling fetchttp v1.0.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 35.27s [INFO] running `Command { std: "docker" "inspect" "72b1201fe3e54a0f1e46f7048ff38e48f4fe3b65ae682f1689ed6bdf51a6e457", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "72b1201fe3e54a0f1e46f7048ff38e48f4fe3b65ae682f1689ed6bdf51a6e457", kill_on_drop: false }` [INFO] [stdout] 72b1201fe3e54a0f1e46f7048ff38e48f4fe3b65ae682f1689ed6bdf51a6e457 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2e5dfc0fb5cd5dbe165a7c5865e443e32ebaa01cefaa8bd52b56590fb6137ef4 [INFO] running `Command { std: "docker" "start" "-a" "2e5dfc0fb5cd5dbe165a7c5865e443e32ebaa01cefaa8bd52b56590fb6137ef4", kill_on_drop: false }` [INFO] [stderr] Compiling zerocopy v0.8.34 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling zerocopy-derive v0.8.34 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling proc-macro-error-attr2 v2.0.0 [INFO] [stderr] Compiling alloca v0.4.0 [INFO] [stderr] Compiling clap_lex v0.7.7 [INFO] [stderr] Compiling iai-callgrind-runner v0.16.1 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling num_cpus v1.17.0 [INFO] [stderr] Compiling clap_builder v4.5.54 [INFO] [stderr] Compiling iai-callgrind v0.16.1 [INFO] [stderr] Compiling deadpool-runtime v0.1.4 [INFO] [stderr] Compiling criterion-plot v0.8.1 [INFO] [stderr] Compiling page_size v0.6.0 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling proc-macro-error2 v2.0.1 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling assert-json-diff v2.0.2 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling iai-callgrind-macros v0.6.1 [INFO] [stderr] Compiling clap v4.5.54 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tokio-native-tls v0.3.1 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling futures-executor v0.3.31 [INFO] [stderr] Compiling futures v0.3.31 [INFO] [stderr] Compiling tokio-test v0.4.5 [INFO] [stderr] Compiling criterion v0.8.1 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-tls v0.6.0 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling fetchttp v1.0.1 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 35.80s [INFO] running `Command { std: "docker" "inspect" "2e5dfc0fb5cd5dbe165a7c5865e443e32ebaa01cefaa8bd52b56590fb6137ef4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2e5dfc0fb5cd5dbe165a7c5865e443e32ebaa01cefaa8bd52b56590fb6137ef4", kill_on_drop: false }` [INFO] [stdout] 2e5dfc0fb5cd5dbe165a7c5865e443e32ebaa01cefaa8bd52b56590fb6137ef4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 7b43099e2ce9e7cbab26c24be1f2aa89fe0569069455d31a240cfad23a56b3d6 [INFO] running `Command { std: "docker" "start" "-a" "7b43099e2ce9e7cbab26c24be1f2aa89fe0569069455d31a240cfad23a56b3d6", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fetchttp-1ca98681dfbd8c18) [INFO] [stdout] [INFO] [stdout] running 64 tests [INFO] [stdout] test abort::tests::test_abort_controller_default ... ok [INFO] [stdout] test abort::tests::test_abort_controller_abort ... ok [INFO] [stdout] test abort::tests::test_abort_signal_clone ... ok [INFO] [stdout] test abort::tests::test_abort_signal_abort ... ok [INFO] [stdout] test abort::tests::test_abort_signal_abort_no_reason ... ok [INFO] [stdout] test abort::tests::test_abort_controller_new ... ok [INFO] [stdout] test abort::tests::test_multiple_signal_clones ... ok [INFO] [stdout] test abort::tests::test_abort_signal_do_abort ... ok [INFO] [stdout] test body::tests::test_get_content_type ... ok [INFO] [stdout] test abort::tests::test_abort_signal_default ... ok [INFO] [stdout] test body::tests::test_body_already_used_error ... ok [INFO] [stdout] test body::tests::test_readable_stream_bytes ... ok [INFO] [stdout] test body::tests::test_json_empty_body_error ... ok [INFO] [stdout] test body::tests::test_readable_stream_from_conversions ... ok [INFO] [stdout] test body::tests::test_invalid_utf8_error ... ok [INFO] [stdout] test body::tests::test_readable_stream_locked ... ok [INFO] [stdout] test body::tests::test_to_bytes ... ok [INFO] [stdout] test body::tests::test_readable_stream_form_data ... ok [INFO] [stdout] test body::tests::test_readable_stream_json ... ok [INFO] [stdout] test error::tests::test_error_display ... ok [INFO] [stdout] test client::tests::test_fetch_invalid_url ... ok [INFO] [stdout] test body::tests::test_readable_stream_blob ... ok [INFO] [stdout] test error::tests::test_error_messages ... ok [INFO] [stdout] test body::tests::test_readable_stream_empty ... ok [INFO] [stdout] test error::tests::test_fetch_error_conversions ... ok [INFO] [stdout] test body::tests::test_readable_stream_text ... ok [INFO] [stdout] test headers::tests::test_get_set_cookie ... ok [INFO] [stdout] test headers::tests::test_headers_basic_operations ... ok [INFO] [stdout] test headers::tests::test_headers_from_array ... ok [INFO] [stdout] test headers::tests::test_headers_from_slice ... ok [INFO] [stdout] test headers::tests::test_headers_iteration ... ok [INFO] [stdout] test headers::tests::test_headers_validation ... ok [INFO] [stdout] test request::tests::test_content_type_auto_set ... ok [INFO] [stdout] test request::tests::test_method_normalization ... ok [INFO] [stdout] test request::tests::test_request_creation ... ok [INFO] [stdout] test request::tests::test_request_method_validation ... ok [INFO] [stdout] test request::tests::test_request_body_methods ... ok [INFO] [stdout] test request::tests::test_request_json_body ... ok [INFO] [stdout] test request::tests::test_request_url_validation ... ok [INFO] [stdout] test request::tests::test_request_defaults ... ok [INFO] [stdout] test request::tests::test_request_enum_defaults ... ok [INFO] [stdout] test request::tests::test_request_with_init ... ok [INFO] [stdout] test response::tests::test_body_already_used_error ... ok [INFO] [stdout] test response::tests::test_response_body_methods ... ok [INFO] [stdout] test response::tests::test_response_clone ... ok [INFO] [stdout] test response::tests::test_default_status_text ... ok [INFO] [stdout] test response::tests::test_json_empty_body_error ... ok [INFO] [stdout] test response::tests::test_redirect_status_codes ... ok [INFO] [stdout] test response::tests::test_response_all_status_texts ... ok [INFO] [stdout] test request::tests::test_request_clone ... ok [INFO] [stdout] test response::tests::test_response_error ... ok [INFO] [stdout] test response::tests::test_response_status_text_validation ... ok [INFO] [stdout] test response::tests::test_response_type_default ... ok [INFO] [stdout] test response::tests::test_response_empty_body ... ok [INFO] [stdout] test response::tests::test_response_init_defaults ... ok [INFO] [stdout] test response::tests::test_response_creation ... ok [INFO] [stdout] test response::tests::test_response_json_body ... ok [INFO] [stdout] test abort::tests::test_signal_sharing_between_threads ... ok [INFO] [stdout] test response::tests::test_response_redirect ... ok [INFO] [stdout] test response::tests::test_response_status_validation ... ok [INFO] [stdout] test response::tests::test_response_ok_status ... ok [INFO] [stdout] test response::tests::test_response_with_init ... ok [INFO] [stdout] test abort::tests::test_abort_signal_new ... ok [INFO] [stdout] test client::tests::test_client_initialization ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 64 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stderr] Running tests/integration.rs (/opt/rustwide/target/debug/deps/integration-564d04f107f94bcf) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test test_response_clone ... ok [INFO] [stdout] test test_request_clone ... ok [INFO] [stdout] test test_body_consumption ... ok [INFO] [stdout] test test_fetch_redirect ... ok [INFO] [stdout] test test_fetch_response_headers ... ok [INFO] [stdout] test test_fetch_get_request ... ok [INFO] [stdout] test test_fetch_post_request ... ok [INFO] [stdout] test test_fetch_error_status ... ok [INFO] [stdout] test test_fetch_custom_headers ... ok [INFO] [stdout] test test_fetch_json_request ... ok [INFO] [stdout] test test_fetch_large_response ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s [INFO] [stdout] [INFO] [stderr] Running tests/performance.rs (/opt/rustwide/target/debug/deps/performance-bae458257462df97) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test test_body_operations_performance ... ok [INFO] [stdout] test test_response_creation_performance ... ok [INFO] [stdout] test test_concurrent_operations ... ok [INFO] [stdout] test test_json_serialization_performance ... ok [INFO] [stdout] test test_headers_performance ... ok [INFO] [stdout] test test_request_creation_performance ... ok [INFO] [stdout] test test_memory_usage_stability ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Doc-tests fetchttp [INFO] [stdout] [INFO] [stdout] running 90 tests [INFO] [stdout] test src/body.rs - body::ReadableStream::array_buffer (line 233) ... FAILED [INFO] [stdout] test src/abort.rs - abort (line 11) ... FAILED [INFO] [stdout] test src/body.rs - body::ReadableStream::blob (line 269) ... FAILED [INFO] [stdout] test src/body.rs - body::ReadableStream::from_bytes (line 149) ... FAILED [INFO] [stdout] test src/abort.rs - abort::AbortSignal::aborted (line 172) ... ok [INFO] [stdout] test src/abort.rs - abort::AbortController::signal (line 302) ... ok [INFO] [stdout] test src/abort.rs - abort::AbortSignal::abort (line 141) ... ok [INFO] [stdout] test src/abort.rs - abort::AbortSignal (line 70) ... ok [INFO] [stdout] test src/abort.rs - abort::AbortSignal::reason (line 198) ... ok [INFO] [stdout] test src/abort.rs - abort::AbortController::abort (line 325) ... ok [INFO] [stdout] test src/abort.rs - abort::AbortController::new (line 279) ... ok [INFO] [stdout] test src/abort.rs - abort (line 42) ... ok [INFO] [stdout] test src/body.rs - body (line 17) ... ok [INFO] [stdout] test src/abort.rs - abort::AbortController (line 250) ... ok [INFO] [stdout] test src/body.rs - body::ReadableStream::get_content_type (line 414) ... FAILED [INFO] [stdout] test src/body.rs - body::ReadableStream::is_used (line 460) ... FAILED [INFO] [stdout] test src/body.rs - body::ReadableStream (line 70) ... ok [INFO] [stdout] test src/client.rs - client::fetch (line 54) ... FAILED [INFO] [stdout] test src/abort.rs - abort::AbortSignal::new (line 114) ... ok [INFO] [stdout] test src/error.rs - error::FetchError (line 148) ... ok [INFO] [stdout] test src/error.rs - error::Result (line 254) ... ok [INFO] [stdout] test src/body.rs - body::ReadableStream::locked (line 207) ... ok [INFO] [stdout] test src/error.rs - error::AbortError (line 98) ... ok [INFO] [stdout] test src/body.rs - body::ReadableStream::form_data (line 292) ... ok [INFO] [stdout] test src/body.rs - body::ReadableStream::empty (line 99) ... ok [INFO] [stdout] test src/headers.rs - headers::Headers (line 18) ... ok [INFO] [stdout] test src/headers.rs - headers::Headers::delete (line 109) ... ok [INFO] [stdout] test src/error.rs - error::TypeError (line 16) ... ok [INFO] [stdout] test src/error.rs - error::NetworkError (line 56) ... ok [INFO] [stdout] test src/lib.rs - (line 24) ... FAILED [INFO] [stdout] test src/body.rs - body::ReadableStream::from_text (line 125) ... ok [INFO] [stdout] test src/lib.rs - (line 69) ... FAILED [INFO] [stdout] test src/lib.rs - (line 42) ... FAILED [INFO] [stdout] test src/body.rs - body::ReadableStream::from_json (line 178) ... ok [INFO] [stdout] test src/headers.rs - headers::Headers::get_set_cookie (line 171) ... ok [INFO] [stdout] test src/headers.rs - headers::Headers::entries (line 253) ... ok [INFO] [stdout] test src/headers.rs - headers::Headers::set (line 231) ... ok [INFO] [stdout] test src/request.rs - request::Request::array_buffer (line 645) ... FAILED [INFO] [stdout] test src/headers.rs - headers::Headers::append (line 70) ... ok [INFO] [stdout] test src/headers.rs - headers::Headers::keys (line 272) ... ok [INFO] [stdout] test src/body.rs - body::ReadableStream::text (line 377) ... ok [INFO] [stdout] test src/headers.rs - headers::Headers::new (line 44) ... ok [INFO] [stdout] test src/headers.rs - headers::Headers::has (line 201) ... ok [INFO] [stdout] test src/request.rs - request (line 17) ... ok [INFO] [stdout] test src/headers.rs - headers::Headers::values (line 290) ... ok [INFO] [stdout] test src/headers.rs - headers::Headers::get (line 144) ... ok [INFO] [stdout] test src/body.rs - body::ReadableStream::json (line 325) ... ok [INFO] [stdout] test src/request.rs - request::Request::cache (line 515) ... ok [INFO] [stdout] test src/request.rs - request::Request::body (line 439) ... ok [INFO] [stdout] test src/request.rs - request (line 44) ... ok [INFO] [stdout] test src/request.rs - request::Request (line 230) ... ok [INFO] [stdout] test src/request.rs - request (line 27) ... ok [INFO] [stdout] test src/request.rs - request::Request::credentials (line 501) ... ok [INFO] [stdout] test src/request.rs - request::Request::integrity (line 562) ... ok [INFO] [stdout] test src/request.rs - request::Request::body_used (line 466) ... ok [INFO] [stdout] test src/request.rs - request::Request::headers (line 415) ... ok [INFO] [stdout] test src/request.rs - request::Request::mode (line 487) ... ok [INFO] [stdout] test src/request.rs - request::Request::keepalive (line 576) ... ok [INFO] [stdout] test src/response.rs - response (line 21) ... FAILED [INFO] [stdout] test src/request.rs - request::Request::clone_request (line 623) ... ok [INFO] [stdout] test src/request.rs - request::Request::method (line 392) ... ok [INFO] [stdout] test src/response.rs - response::Response::array_buffer (line 575) ... FAILED [INFO] [stdout] test src/request.rs - request::Request::json (line 682) ... ok [INFO] [stdout] test src/request.rs - request::Request::referrer (line 543) ... ok [INFO] [stdout] test src/request.rs - request::Request::redirect (line 529) ... ok [INFO] [stdout] test src/response.rs - response (line 40) ... ok [INFO] [stdout] test src/request.rs - request::Request::signal (line 594) ... ok [INFO] [stdout] test src/response.rs - response::Response (line 159) ... ok [INFO] [stdout] test src/request.rs - request::Request::new (line 297) ... ok [INFO] [stdout] test src/request.rs - request::RequestInit::new (line 203) ... ok [INFO] [stdout] test src/request.rs - request::Request::text (line 711) ... ok [INFO] [stdout] test src/response.rs - response::Response::body (line 500) ... ok [INFO] [stdout] test src/request.rs - request::RequestInit (line 155) ... ok [INFO] [stdout] test src/response.rs - response::Response::error (line 280) ... ok [INFO] [stdout] test src/request.rs - request::Request::url (line 374) ... ok [INFO] [stdout] test src/response.rs - response::Response::redirect (line 320) ... ok [INFO] [stdout] test src/response.rs - response::Response::body_used (line 522) ... ok [INFO] [stdout] test src/response.rs - response::Response::clone_response (line 553) ... ok [INFO] [stdout] test src/response.rs - response::Response::new (line 214) ... ok [INFO] [stdout] test src/response.rs - response::Response::redirected (line 397) ... ok [INFO] [stdout] test src/response.rs - response::Response::ok (line 432) ... ok [INFO] [stdout] test src/response.rs - response::Response::url (line 383) ... ok [INFO] [stdout] test src/response.rs - response::ResponseInit (line 100) ... ok [INFO] [stdout] test src/response.rs - response::ResponseInit::new (line 128) ... ok [INFO] [stdout] test src/response.rs - response::Response::response_type (line 364) ... ok [INFO] [stdout] test src/response.rs - response::Response::headers (line 480) ... ok [INFO] [stdout] test src/response.rs - response::Response::status (line 411) ... ok [INFO] [stdout] test src/response.rs - response::Response::text (line 641) ... ok [INFO] [stdout] test src/response.rs - response::Response::json (line 612) ... ok [INFO] [stdout] test src/response.rs - response::Response::status_text (line 461) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/body.rs - body::ReadableStream::array_buffer (line 233) stdout ---- [INFO] [stdout] error[E0277]: can't compare `fetchttp::Bytes` with `[u8; 5]` [INFO] [stdout] --> src/body.rs:240:1 [INFO] [stdout] | [INFO] [stdout] 240 | assert_eq!(bytes, b"Hello"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `fetchttp::Bytes == [u8; 5]` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq<[u8; 5]>` is not implemented for `fetchttp::Bytes` [INFO] [stdout] = note: required for `fetchttp::Bytes` to implement `PartialEq<&[u8; 5]>` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/abort.rs - abort (line 11) stdout ---- [INFO] [stdout] error: The default runtime flavor is `multi_thread`, but the `rt-multi-thread` feature is disabled. [INFO] [stdout] --> src/abort.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | #[tokio::main] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the attribute macro `tokio::main` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] error[E0107]: type alias takes 1 generic argument but 2 generic arguments were supplied [INFO] [stdout] --> src/abort.rs:18:20 [INFO] [stdout] | [INFO] [stdout] 18 | async fn main() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^ ---------------------------- help: remove the unnecessary generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 1 generic argument [INFO] [stdout] | [INFO] [stdout] note: type alias defined here, with 1 generic parameter: `T` [INFO] [stdout] --> src/error.rs:261:10 [INFO] [stdout] | [INFO] [stdout] 261 | pub type Result = std::result::Result; [INFO] [stdout] | ^^^^^^ - [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0107`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/body.rs - body::ReadableStream::blob (line 269) stdout ---- [INFO] [stdout] error[E0277]: can't compare `fetchttp::Bytes` with `[u8; 4]` [INFO] [stdout] --> src/body.rs:276:1 [INFO] [stdout] | [INFO] [stdout] 276 | assert_eq!(blob, b"data"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `fetchttp::Bytes == [u8; 4]` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq<[u8; 4]>` is not implemented for `fetchttp::Bytes` [INFO] [stdout] = note: required for `fetchttp::Bytes` to implement `PartialEq<&[u8; 4]>` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/body.rs - body::ReadableStream::from_bytes (line 149) stdout ---- [INFO] [stdout] error[E0277]: can't compare `fetchttp::Bytes` with `[u8; 11]` [INFO] [stdout] --> src/body.rs:158:1 [INFO] [stdout] | [INFO] [stdout] 158 | assert_eq!(bytes, b"binary data"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `fetchttp::Bytes == [u8; 11]` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq<[u8; 11]>` is not implemented for `fetchttp::Bytes` [INFO] [stdout] = note: required for `fetchttp::Bytes` to implement `PartialEq<&[u8; 11]>` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/body.rs - body::ReadableStream::get_content_type (line 414) stdout ---- [INFO] [stdout] error[E0624]: method `get_content_type` is private [INFO] [stdout] --> src/body.rs:420:22 [INFO] [stdout] | [INFO] [stdout] 420 | assert_eq!(text_body.get_content_type(), Some("text/plain;charset=UTF-8")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: src/body.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub(crate) fn get_content_type(&self) -> Option<&'static str> { [INFO] [stdout] | ------------------------------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] error[E0624]: method `get_content_type` is private [INFO] [stdout] --> src/body.rs:423:22 [INFO] [stdout] | [INFO] [stdout] 423 | assert_eq!(json_body.get_content_type(), Some("application/json")); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: src/body.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub(crate) fn get_content_type(&self) -> Option<&'static str> { [INFO] [stdout] | ------------------------------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] error[E0624]: method `get_content_type` is private [INFO] [stdout] --> src/body.rs:426:23 [INFO] [stdout] | [INFO] [stdout] 426 | assert_eq!(empty_body.get_content_type(), None); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: src/body.rs:427:5 [INFO] [stdout] | [INFO] [stdout] 427 | pub(crate) fn get_content_type(&self) -> Option<&'static str> { [INFO] [stdout] | ------------------------------------------------------------- private method defined here [INFO] [stdout] [INFO] [stdout] error: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0624`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/body.rs - body::ReadableStream::is_used (line 460) stdout ---- [INFO] [stdout] error[E0624]: method `is_used` is private [INFO] [stdout] --> src/body.rs:466:17 [INFO] [stdout] | [INFO] [stdout] 466 | assert!(!stream.is_used()); [INFO] [stdout] | ^^^^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: src/body.rs:471:5 [INFO] [stdout] | [INFO] [stdout] 471 | pub(crate) fn is_used(&self) -> bool { [INFO] [stdout] | ------------------------------------ private method defined here [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0624`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/client.rs - client::fetch (line 54) stdout ---- [INFO] [stdout] error: The default runtime flavor is `multi_thread`, but the `rt-multi-thread` feature is disabled. [INFO] [stdout] --> src/client.rs:58:1 [INFO] [stdout] | [INFO] [stdout] 58 | #[tokio::main] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the attribute macro `tokio::main` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] error[E0107]: type alias takes 1 generic argument but 2 generic arguments were supplied [INFO] [stdout] --> src/client.rs:59:20 [INFO] [stdout] | [INFO] [stdout] 59 | async fn main() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^ ---------------------------- help: remove the unnecessary generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 1 generic argument [INFO] [stdout] | [INFO] [stdout] note: type alias defined here, with 1 generic parameter: `T` [INFO] [stdout] --> src/error.rs:261:10 [INFO] [stdout] | [INFO] [stdout] 261 | pub type Result = std::result::Result; [INFO] [stdout] | ^^^^^^ - [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0107`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - (line 24) stdout ---- [INFO] [stdout] error: The default runtime flavor is `multi_thread`, but the `rt-multi-thread` feature is disabled. [INFO] [stdout] --> src/lib.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | #[tokio::main] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the attribute macro `tokio::main` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] error[E0107]: type alias takes 1 generic argument but 2 generic arguments were supplied [INFO] [stdout] --> src/lib.rs:29:20 [INFO] [stdout] | [INFO] [stdout] 29 | async fn main() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^ ---------------------------- help: remove the unnecessary generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 1 generic argument [INFO] [stdout] | [INFO] [stdout] note: type alias defined here, with 1 generic parameter: `T` [INFO] [stdout] --> src/error.rs:261:10 [INFO] [stdout] | [INFO] [stdout] 261 | pub type Result = std::result::Result; [INFO] [stdout] | ^^^^^^ - [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0107`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - (line 69) stdout ---- [INFO] [stdout] error: The default runtime flavor is `multi_thread`, but the `rt-multi-thread` feature is disabled. [INFO] [stdout] --> src/lib.rs:73:1 [INFO] [stdout] | [INFO] [stdout] 73 | #[tokio::main] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the attribute macro `tokio::main` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] error[E0107]: type alias takes 1 generic argument but 2 generic arguments were supplied [INFO] [stdout] --> src/lib.rs:74:20 [INFO] [stdout] | [INFO] [stdout] 74 | async fn main() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^ ---------------------------- help: remove the unnecessary generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 1 generic argument [INFO] [stdout] | [INFO] [stdout] note: type alias defined here, with 1 generic parameter: `T` [INFO] [stdout] --> src/error.rs:261:10 [INFO] [stdout] | [INFO] [stdout] 261 | pub type Result = std::result::Result; [INFO] [stdout] | ^^^^^^ - [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0107`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/lib.rs - (line 42) stdout ---- [INFO] [stdout] error: The default runtime flavor is `multi_thread`, but the `rt-multi-thread` feature is disabled. [INFO] [stdout] --> src/lib.rs:47:1 [INFO] [stdout] | [INFO] [stdout] 47 | #[tokio::main] [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the attribute macro `tokio::main` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] error[E0107]: type alias takes 1 generic argument but 2 generic arguments were supplied [INFO] [stdout] --> src/lib.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | async fn main() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^ ---------------------------- help: remove the unnecessary generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 1 generic argument [INFO] [stdout] | [INFO] [stdout] note: type alias defined here, with 1 generic parameter: `T` [INFO] [stdout] --> src/error.rs:261:10 [INFO] [stdout] | [INFO] [stdout] 261 | pub type Result = std::result::Result; [INFO] [stdout] | ^^^^^^ - [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0107`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/request.rs - request::Request::array_buffer (line 645) stdout ---- [INFO] [stdout] error[E0277]: can't compare `fetchttp::Bytes` with `[u8; 13]` [INFO] [stdout] --> src/request.rs:656:1 [INFO] [stdout] | [INFO] [stdout] 656 | assert_eq!(bytes, b"Hello, World!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `fetchttp::Bytes == [u8; 13]` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq<[u8; 13]>` is not implemented for `fetchttp::Bytes` [INFO] [stdout] = note: required for `fetchttp::Bytes` to implement `PartialEq<&[u8; 13]>` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/response.rs - response (line 21) stdout ---- [INFO] [stdout] error[E0107]: type alias takes 1 generic argument but 2 generic arguments were supplied [INFO] [stdout] --> src/response.rs:25:23 [INFO] [stdout] | [INFO] [stdout] 25 | async fn example() -> Result<(), Box> { [INFO] [stdout] | ^^^^^^ ---------------------------- help: remove the unnecessary generic argument [INFO] [stdout] | | [INFO] [stdout] | expected 1 generic argument [INFO] [stdout] | [INFO] [stdout] note: type alias defined here, with 1 generic parameter: `T` [INFO] [stdout] --> src/error.rs:261:10 [INFO] [stdout] | [INFO] [stdout] 261 | pub type Result = std::result::Result; [INFO] [stdout] | ^^^^^^ - [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0107`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/response.rs - response::Response::array_buffer (line 575) stdout ---- [INFO] [stdout] error[E0277]: can't compare `fetchttp::Bytes` with `[u8; 13]` [INFO] [stdout] --> src/response.rs:586:1 [INFO] [stdout] | [INFO] [stdout] 586 | assert_eq!(bytes, b"Hello, World!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `fetchttp::Bytes == [u8; 13]` [INFO] [stdout] | [INFO] [stdout] = help: the trait `PartialEq<[u8; 13]>` is not implemented for `fetchttp::Bytes` [INFO] [stdout] = note: required for `fetchttp::Bytes` to implement `PartialEq<&[u8; 13]>` [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/abort.rs - abort (line 11) [INFO] [stdout] src/body.rs - body::ReadableStream::array_buffer (line 233) [INFO] [stdout] src/body.rs - body::ReadableStream::blob (line 269) [INFO] [stdout] src/body.rs - body::ReadableStream::from_bytes (line 149) [INFO] [stdout] src/body.rs - body::ReadableStream::get_content_type (line 414) [INFO] [stdout] src/body.rs - body::ReadableStream::is_used (line 460) [INFO] [stdout] src/client.rs - client::fetch (line 54) [INFO] [stdout] src/lib.rs - (line 24) [INFO] [stdout] src/lib.rs - (line 42) [INFO] [stdout] src/lib.rs - (line 69) [INFO] [stdout] src/request.rs - request::Request::array_buffer (line 645) [INFO] [stdout] src/response.rs - response (line 21) [INFO] [stdout] src/response.rs - response::Response::array_buffer (line 575) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 77 passed; 13 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.93s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "7b43099e2ce9e7cbab26c24be1f2aa89fe0569069455d31a240cfad23a56b3d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b43099e2ce9e7cbab26c24be1f2aa89fe0569069455d31a240cfad23a56b3d6", kill_on_drop: false }` [INFO] [stdout] 7b43099e2ce9e7cbab26c24be1f2aa89fe0569069455d31a240cfad23a56b3d6