[INFO] fetching crate qiniu-multipart 0.17.3... [INFO] testing qiniu-multipart-0.17.3 against 1.60.0 for beta-1.61-1 [INFO] extracting crate qiniu-multipart 0.17.3 into /workspace/builds/worker-13/source [INFO] validating manifest of crates.io crate qiniu-multipart 0.17.3 on toolchain 1.60.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate qiniu-multipart 0.17.3 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate qiniu-multipart 0.17.3 [INFO] tweaked toml for crates.io crate qiniu-multipart 0.17.3 written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate crates.io crate qiniu-multipart 0.17.3 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.60.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other binary targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a binary target: [INFO] [stderr] [INFO] [stderr] * /workspace/builds/worker-13/source/src/bin/read_file.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autobins = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded zeroize v1.1.1 [INFO] [stderr] Downloaded cookie v0.11.3 [INFO] [stderr] Downloaded rocket v0.4.5 [INFO] [stderr] Downloaded rocket_codegen v0.4.5 [INFO] [stderr] Downloaded rocket_http v0.4.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d47c7da5784538aaf01120d18868ee6fa11a3ea4f5baf4e1ed135f86106bf7d6 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "d47c7da5784538aaf01120d18868ee6fa11a3ea4f5baf4e1ed135f86106bf7d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d47c7da5784538aaf01120d18868ee6fa11a3ea4f5baf4e1ed135f86106bf7d6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d47c7da5784538aaf01120d18868ee6fa11a3ea4f5baf4e1ed135f86106bf7d6", kill_on_drop: false }` [INFO] [stdout] d47c7da5784538aaf01120d18868ee6fa11a3ea4f5baf4e1ed135f86106bf7d6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] e453b25e22d9911cd78873381f13fb3f70555eb7a54d226ecc040eee379202f4 [INFO] running `Command { std: "docker" "start" "-a" "e453b25e22d9911cd78873381f13fb3f70555eb7a54d226ecc040eee379202f4", kill_on_drop: false }` [INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other binary targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a binary target: [INFO] [stderr] [INFO] [stderr] * /opt/rustwide/workdir/src/bin/read_file.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autobins = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] Compiling libc v0.2.79 [INFO] [stderr] Compiling serde v1.0.116 [INFO] [stderr] Compiling serde_json v1.0.59 [INFO] [stderr] Compiling modifier v0.1.0 [INFO] [stderr] Compiling itoa v0.4.6 [INFO] [stderr] Compiling regex-syntax v0.6.20 [INFO] [stderr] Compiling chunked_transfer v0.3.1 [INFO] [stderr] Compiling groupable v0.2.0 [INFO] [stderr] Compiling ascii v0.8.7 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling idna v0.1.5 [INFO] [stderr] Compiling aho-corasick v0.7.14 [INFO] [stderr] Compiling base64 v0.9.3 [INFO] [stderr] Compiling plugin v0.2.6 [INFO] [stderr] Compiling url v1.7.2 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling time v0.1.44 [INFO] [stderr] Compiling getrandom v0.1.15 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling hyper v0.10.16 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling regex v1.4.1 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Compiling tiny_http v0.6.2 [INFO] [stderr] Compiling mime_guess v1.8.8 [INFO] [stderr] Compiling tempfile v3.1.0 [INFO] [stderr] Compiling mustache v0.9.0 [INFO] [stderr] Compiling iron v0.6.1 [INFO] [stderr] Compiling nickel v0.11.0 [INFO] [stderr] Compiling qiniu-multipart v0.17.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/server/field.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | )); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 179 | None => invalid_cont_disp!( [INFO] [stdout] | _____________________- [INFO] [stdout] 180 | | "expected additional data after Content-Disposition type", [INFO] [stdout] 181 | | header.val [INFO] [stdout] 182 | | ), [INFO] [stdout] | |_____________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `invalid_cont_disp` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/server/field.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | )); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 187 | None => invalid_cont_disp!( [INFO] [stdout] | _____________________- [INFO] [stdout] 188 | | "expected field name and maybe filename, got", [INFO] [stdout] 189 | | after_disp_type [INFO] [stdout] 190 | | ), [INFO] [stdout] | |_____________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `invalid_cont_disp` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/server/save.rs:667:42 [INFO] [stdout] | [INFO] [stdout] 667 | occupied.into_mut().push({ SavedField { headers, data }}); [INFO] [stdout] | ^^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 667 - occupied.into_mut().push({ SavedField { headers, data }}); [INFO] [stdout] 667 + occupied.into_mut().push(SavedField { headers, data }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/client/lazy.rs:83:20 [INFO] [stdout] | [INFO] [stdout] 83 | self.error.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:556:41 [INFO] [stdout] | [INFO] [stdout] 556 | display(x) -> ("{}:\n{}", x.description(), headers) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:560:44 [INFO] [stdout] | [INFO] [stdout] 560 | display(x) -> ("{}: {}: {}", x.description(), reason, cause) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:566:40 [INFO] [stdout] | [INFO] [stdout] 566 | display(x) -> ("{}: {}", x.description(), err) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:572:46 [INFO] [stdout] | [INFO] [stdout] 572 | display(this) -> ("{}: {}", this.description(), cont_type) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:580:40 [INFO] [stdout] | [INFO] [stdout] 580 | display(x) -> ("{}: {}", x.description(), err) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `GENERIC_PARSE_ERR` [INFO] [stdout] --> src/server/field.rs:549:1 [INFO] [stdout] | [INFO] [stdout] 549 | const GENERIC_PARSE_ERR: &str = "an error occurred while parsing field headers"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 13s [INFO] running `Command { std: "docker" "inspect" "e453b25e22d9911cd78873381f13fb3f70555eb7a54d226ecc040eee379202f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e453b25e22d9911cd78873381f13fb3f70555eb7a54d226ecc040eee379202f4", kill_on_drop: false }` [INFO] [stdout] e453b25e22d9911cd78873381f13fb3f70555eb7a54d226ecc040eee379202f4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+1.60.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5db4562b5ba971c784a6811f406d2b319f87663f0f0d1683ba4e3dac3da34954 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "5db4562b5ba971c784a6811f406d2b319f87663f0f0d1683ba4e3dac3da34954", kill_on_drop: false }` [INFO] [stderr] warning: An explicit [[bin]] section is specified in Cargo.toml which currently [INFO] [stderr] disables Cargo from automatically inferring other binary targets. [INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following [INFO] [stderr] files will be included as a binary target: [INFO] [stderr] [INFO] [stderr] * /opt/rustwide/workdir/src/bin/read_file.rs [INFO] [stderr] [INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be [INFO] [stderr] ready to be compiled as a binary target today. You can future-proof yourself [INFO] [stderr] and disable this warning by adding `autobins = false` to your [package] [INFO] [stderr] section. You may also move the files to a location where Cargo would not [INFO] [stderr] automatically infer them to be a target, such as in subfolders. [INFO] [stderr] [INFO] [stderr] For more information on this warning you can consult [INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330 [INFO] [stderr] Compiling termcolor v1.1.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/server/field.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | )); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 179 | None => invalid_cont_disp!( [INFO] [stdout] | _____________________- [INFO] [stdout] 180 | | "expected additional data after Content-Disposition type", [INFO] [stdout] 181 | | header.val [INFO] [stdout] 182 | | ), [INFO] [stdout] | |_____________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `invalid_cont_disp` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/server/field.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | )); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 187 | None => invalid_cont_disp!( [INFO] [stdout] | _____________________- [INFO] [stdout] 188 | | "expected field name and maybe filename, got", [INFO] [stdout] 189 | | after_disp_type [INFO] [stdout] 190 | | ), [INFO] [stdout] | |_____________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `invalid_cont_disp` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/server/save.rs:667:42 [INFO] [stdout] | [INFO] [stdout] 667 | occupied.into_mut().push({ SavedField { headers, data }}); [INFO] [stdout] | ^^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 667 - occupied.into_mut().push({ SavedField { headers, data }}); [INFO] [stdout] 667 + occupied.into_mut().push(SavedField { headers, data }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/client/lazy.rs:83:20 [INFO] [stdout] | [INFO] [stdout] 83 | self.error.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:556:41 [INFO] [stdout] | [INFO] [stdout] 556 | display(x) -> ("{}:\n{}", x.description(), headers) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:560:44 [INFO] [stdout] | [INFO] [stdout] 560 | display(x) -> ("{}: {}: {}", x.description(), reason, cause) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:566:40 [INFO] [stdout] | [INFO] [stdout] 566 | display(x) -> ("{}: {}", x.description(), err) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:572:46 [INFO] [stdout] | [INFO] [stdout] 572 | display(this) -> ("{}: {}", this.description(), cont_type) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:580:40 [INFO] [stdout] | [INFO] [stdout] 580 | display(x) -> ("{}: {}", x.description(), err) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `GENERIC_PARSE_ERR` [INFO] [stdout] --> src/server/field.rs:549:1 [INFO] [stdout] | [INFO] [stdout] 549 | const GENERIC_PARSE_ERR: &str = "an error occurred while parsing field headers"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling qiniu-multipart v0.17.3 (/opt/rustwide/workdir) [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/server/field.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | )); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 179 | None => invalid_cont_disp!( [INFO] [stdout] | _____________________- [INFO] [stdout] 180 | | "expected additional data after Content-Disposition type", [INFO] [stdout] 181 | | header.val [INFO] [stdout] 182 | | ), [INFO] [stdout] | |_____________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `invalid_cont_disp` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trailing semicolon in macro used in expression position [INFO] [stdout] --> src/server/field.rs:30:11 [INFO] [stdout] | [INFO] [stdout] 30 | )); [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 187 | None => invalid_cont_disp!( [INFO] [stdout] | _____________________- [INFO] [stdout] 188 | | "expected field name and maybe filename, got", [INFO] [stdout] 189 | | after_disp_type [INFO] [stdout] 190 | | ), [INFO] [stdout] | |_____________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stdout] = note: for more information, see issue #79813 [INFO] [stdout] = note: this warning originates in the macro `invalid_cont_disp` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary braces around method argument [INFO] [stdout] --> src/server/save.rs:667:42 [INFO] [stdout] | [INFO] [stdout] 667 | occupied.into_mut().push({ SavedField { headers, data }}); [INFO] [stdout] | ^^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 667 - occupied.into_mut().push({ SavedField { headers, data }}); [INFO] [stdout] 667 + occupied.into_mut().push(SavedField { headers, data }); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/client/lazy.rs:83:20 [INFO] [stdout] | [INFO] [stdout] 83 | self.error.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:556:41 [INFO] [stdout] | [INFO] [stdout] 556 | display(x) -> ("{}:\n{}", x.description(), headers) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:560:44 [INFO] [stdout] | [INFO] [stdout] 560 | display(x) -> ("{}: {}: {}", x.description(), reason, cause) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:566:40 [INFO] [stdout] | [INFO] [stdout] 566 | display(x) -> ("{}: {}", x.description(), err) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:572:46 [INFO] [stdout] | [INFO] [stdout] 572 | display(this) -> ("{}: {}", this.description(), cont_type) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `iron::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/server/field.rs:580:40 [INFO] [stdout] | [INFO] [stdout] 580 | display(x) -> ("{}: {}", x.description(), err) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant is never used: `GENERIC_PARSE_ERR` [INFO] [stdout] --> src/server/field.rs:549:1 [INFO] [stdout] | [INFO] [stdout] 549 | const GENERIC_PARSE_ERR: &str = "an error occurred while parsing field headers"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `qiniu-multipart`; 10 warnings emitted [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `rustc --crate-name qiniu_multipart src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,link -C embed-bitcode=no -C debuginfo=2 --test --cfg 'feature="buf_redux"' --cfg 'feature="client"' --cfg 'feature="default"' --cfg 'feature="httparse"' --cfg 'feature="hyper"' --cfg 'feature="iron"' --cfg 'feature="mock"' --cfg 'feature="nickel"' --cfg 'feature="quick-error"' --cfg 'feature="safemem"' --cfg 'feature="server"' --cfg 'feature="tiny_http"' --cfg 'feature="twoway"' -C metadata=ad474f108a74dfa1 -C extra-filename=-ad474f108a74dfa1 --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern buf_redux=/opt/rustwide/target/debug/deps/libbuf_redux-ceaada6a6a9452f1.rlib --extern env_logger=/opt/rustwide/target/debug/deps/libenv_logger-e1152045d47ca292.rlib --extern httparse=/opt/rustwide/target/debug/deps/libhttparse-740cc284933ad378.rlib --extern hyper=/opt/rustwide/target/debug/deps/libhyper-e4e634af5e6c2bde.rlib --extern iron=/opt/rustwide/target/debug/deps/libiron-98212a6e9c3c5d58.rlib --extern log=/opt/rustwide/target/debug/deps/liblog-7736e0c201b801f7.rlib --extern mime=/opt/rustwide/target/debug/deps/libmime-68e3edcf7919f775.rlib --extern mime_guess=/opt/rustwide/target/debug/deps/libmime_guess-2f481e73ad21186c.rlib --extern nickel=/opt/rustwide/target/debug/deps/libnickel-887bd97db7705704.rlib --extern quick_error=/opt/rustwide/target/debug/deps/libquick_error-7e0fef2f69a1ee0a.rlib --extern rand=/opt/rustwide/target/debug/deps/librand-265a0b27f0febaa6.rlib --extern safemem=/opt/rustwide/target/debug/deps/libsafemem-b29c0e7c1add4609.rlib --extern tempfile=/opt/rustwide/target/debug/deps/libtempfile-df80b5d9cc0007ee.rlib --extern tiny_http=/opt/rustwide/target/debug/deps/libtiny_http-cab60c02f37d12e0.rlib --extern twoway=/opt/rustwide/target/debug/deps/libtwoway-7c326b43a0f052dc.rlib --cap-lints=warn` (signal: 9, SIGKILL: kill) [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.0.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.1.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.10.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.11.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.12.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.13.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.14.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.15.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.2.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.3.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.4.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.5.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.6.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.7.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.8.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.tiny_http.41a97fe6-cgu.9.rcgu.o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0.1807v84pl8r21zj3.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libqiniu_multipart-06a70d22e68c3df6.rlib" "/opt/rustwide/target/debug/deps/libnickel-887bd97db7705704.rlib" "/opt/rustwide/target/debug/deps/libgroupable-7d18f75f4607451b.rlib" "/opt/rustwide/target/debug/deps/libmustache-719b980f09565dac.rlib" "/opt/rustwide/target/debug/deps/libregex-6178ca0bb5efe18d.rlib" "/opt/rustwide/target/debug/deps/libthread_local-05790b78615499be.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-b341606102c7008f.rlib" "/opt/rustwide/target/debug/deps/libregex_syntax-d0bdccbae5bc956d.rlib" "/opt/rustwide/target/debug/deps/libaho_corasick-50f4a9eca98d0027.rlib" "/opt/rustwide/target/debug/deps/libserde_json-e541d64c83a6e4ca.rlib" "/opt/rustwide/target/debug/deps/libryu-b54e014f019506d7.rlib" "/opt/rustwide/target/debug/deps/libitoa-b06d4cff304254a3.rlib" "/opt/rustwide/target/debug/deps/libserde-ae2c895d51bb97fa.rlib" "/opt/rustwide/target/debug/deps/libtwoway-7c326b43a0f052dc.rlib" "/opt/rustwide/target/debug/deps/libbuf_redux-ceaada6a6a9452f1.rlib" "/opt/rustwide/target/debug/deps/libmemchr-89814bbd72989c1c.rlib" "/opt/rustwide/target/debug/deps/libtiny_http-cab60c02f37d12e0.rlib" "/opt/rustwide/target/debug/deps/libchrono-73bbc7d428327d00.rlib" "/opt/rustwide/target/debug/deps/libnum_integer-60e2e1a6aa740dfe.rlib" "/opt/rustwide/target/debug/deps/libnum_traits-b9fcaf001ddd8887.rlib" "/opt/rustwide/target/debug/deps/libchunked_transfer-5ef59a91bda214d2.rlib" "/opt/rustwide/target/debug/deps/libascii-180179ffd5a23a0d.rlib" "/opt/rustwide/target/debug/deps/libiron-98212a6e9c3c5d58.rlib" "/opt/rustwide/target/debug/deps/libmodifier-a16bc37cc69d4ccf.rlib" "/opt/rustwide/target/debug/deps/libmime_guess-c06a3a0b2cc909aa.rlib" "/opt/rustwide/target/debug/deps/libphf-8193e2c752e4047e.rlib" "/opt/rustwide/target/debug/deps/libphf_shared-42565d63e8df4f74.rlib" "/opt/rustwide/target/debug/deps/libsiphasher-fdc5ac9da9ea0e56.rlib" "/opt/rustwide/target/debug/deps/libplugin-77d7c19bd322ab6d.rlib" "/opt/rustwide/target/debug/deps/libtypemap-6c10435c755f8dae.rlib" "/opt/rustwide/target/debug/deps/libunsafe_any-dedd6ab422ad7073.rlib" "/opt/rustwide/target/debug/deps/libhyper-e4e634af5e6c2bde.rlib" "/opt/rustwide/target/debug/deps/libmime-dc63bc0d2a09d69d.rlib" "/opt/rustwide/target/debug/deps/liblog-2a53cfc81111b779.rlib" "/opt/rustwide/target/debug/deps/liblanguage_tags-f9a4078c62cb020a.rlib" "/opt/rustwide/target/debug/deps/libtypeable-c93b8f6d6c1b9f18.rlib" "/opt/rustwide/target/debug/deps/libtraitobject-7eea3d45fb14beb1.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-28a782a1cb93e66d.rlib" "/opt/rustwide/target/debug/deps/libhttparse-740cc284933ad378.rlib" "/opt/rustwide/target/debug/deps/libunicase-70f799d8df47a763.rlib" "/opt/rustwide/target/debug/deps/liburl-a20953278a696a6c.rlib" "/opt/rustwide/target/debug/deps/libpercent_encoding-5467954df82172e2.rlib" "/opt/rustwide/target/debug/deps/libidna-c988cb61c1776d2d.rlib" "/opt/rustwide/target/debug/deps/libunicode_normalization-6a75afc3b21dd490.rlib" "/opt/rustwide/target/debug/deps/libtinyvec-99c709632b80b0c8.rlib" "/opt/rustwide/target/debug/deps/libunicode_bidi-502fc641a5064811.rlib" "/opt/rustwide/target/debug/deps/libmatches-ec882efcf894febd.rlib" "/opt/rustwide/target/debug/deps/libtime-64cb7eb960672e17.rlib" "/opt/rustwide/target/debug/deps/libbase64-72f9b291ad0327bb.rlib" "/opt/rustwide/target/debug/deps/libbyteorder-7d142d726959c64b.rlib" "/opt/rustwide/target/debug/deps/libsafemem-b29c0e7c1add4609.rlib" "/opt/rustwide/target/debug/deps/libquick_error-7e0fef2f69a1ee0a.rlib" "/opt/rustwide/target/debug/deps/libtempfile-df80b5d9cc0007ee.rlib" "/opt/rustwide/target/debug/deps/librand-82a164e4504a8a50.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-65312e8e1430e84b.rlib" "/opt/rustwide/target/debug/deps/libppv_lite86-fbe4d881a10fb8b9.rlib" "/opt/rustwide/target/debug/deps/librand_core-a01e508b94942728.rlib" "/opt/rustwide/target/debug/deps/libgetrandom-67b9092d6e8b81ca.rlib" "/opt/rustwide/target/debug/deps/libremove_dir_all-f3614768685002bb.rlib" "/opt/rustwide/target/debug/deps/librand-265a0b27f0febaa6.rlib" "/opt/rustwide/target/debug/deps/librand_xorshift-0e1b41da8d68268e.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-04beb691bef1d141.rlib" "/opt/rustwide/target/debug/deps/librand_hc-863ed5af2eff5223.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-f31cc0e75afee975.rlib" "/opt/rustwide/target/debug/deps/librand_isaac-59007569fa0dabf5.rlib" "/opt/rustwide/target/debug/deps/librand_core-2035e010cda6ad37.rlib" "/opt/rustwide/target/debug/deps/librand_os-f500ee7d632acd74.rlib" "/opt/rustwide/target/debug/deps/liblibc-430368c42c203dc4.rlib" "/opt/rustwide/target/debug/deps/librand_jitter-3a4a755403add799.rlib" "/opt/rustwide/target/debug/deps/librand_core-a742cc23d4224b17.rlib" "/opt/rustwide/target/debug/deps/libmime_guess-2f481e73ad21186c.rlib" "/opt/rustwide/target/debug/deps/libunicase-3d2c79a833bbd0d9.rlib" "/opt/rustwide/target/debug/deps/libmime-68e3edcf7919f775.rlib" "/opt/rustwide/target/debug/deps/liblog-7736e0c201b801f7.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-77abc38cc38d84d4.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-8d61b92a0a02f53a.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-fc45202bb435016b.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-f2400674c7513725.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-605c3a7d1a5d300d.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-3d4fb4efa907e4e8.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-65207f030ab23308.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-76ca199cb0186109.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-1e3e01ed4f561dc1.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-dd8dddcba7c13fee.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-00b13d31c3420656.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-e4c8460b81557bd5.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-600d46e5f0005455.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-e4a08a2585b62d37.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-fbc21ec567cb9dc7.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-10b3fa8e49bd978f.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-64625b73694ffce7.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-fb6b78ac543a58ee.rlib" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-1d1f2d1bec6f51b8.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-acf5ff6e9595d982.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.60.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/examples/tiny_http-85ad450d82d935f0" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro,-znow" "-nodefaultlibs" [INFO] [stdout] = note: collect2: fatal error: ld terminated with signal 9 [Killed] [INFO] [stdout] compilation terminated. [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "5db4562b5ba971c784a6811f406d2b319f87663f0f0d1683ba4e3dac3da34954", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5db4562b5ba971c784a6811f406d2b319f87663f0f0d1683ba4e3dac3da34954", kill_on_drop: false }` [INFO] [stdout] 5db4562b5ba971c784a6811f406d2b319f87663f0f0d1683ba4e3dac3da34954