[INFO] fetching crate qiniu-multipart 0.17.3...
[INFO] checking qiniu-multipart-0.17.3 against master#b286722878e18db29a7fbe672be7c4d3b02e8e4d for pr-127655
[INFO] extracting crate qiniu-multipart 0.17.3 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate qiniu-multipart 0.17.3 on toolchain b286722878e18db29a7fbe672be7c4d3b02e8e4d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b286722878e18db29a7fbe672be7c4d3b02e8e4d" "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-3-tc1/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: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b286722878e18db29a7fbe672be7c4d3b02e8e4d" "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] * 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] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded block-cipher-trait v0.6.2
[INFO] [stderr]   Downloaded clippy v0.0.302
[INFO] [stderr]   Downloaded ghash v0.2.3
[INFO] [stderr]   Downloaded aead v0.2.0
[INFO] [stderr]   Downloaded state v0.4.1
[INFO] [stderr]   Downloaded polyval v0.3.3
[INFO] [stderr]   Downloaded cookie v0.11.3
[INFO] [stderr]   Downloaded hkdf v0.8.0
[INFO] [stderr]   Downloaded rocket_codegen v0.4.5
[INFO] [stderr]   Downloaded rocket_http v0.4.5
[INFO] [stderr]   Downloaded aes-soft v0.3.3
[INFO] [stderr]   Downloaded aesni v0.6.0
[INFO] [stderr]   Downloaded aes-gcm v0.5.0
[INFO] [stderr]   Downloaded rocket v0.4.5
[INFO] [stderr]   Downloaded aes v0.3.2
[INFO] [stderr]   Downloaded universal-hash v0.3.0
[INFO] [stderr]   Downloaded libc v0.2.79
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+b286722878e18db29a7fbe672be7c4d3b02e8e4d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cf1d3e82fe725d38c3c3cefcf3a6d030e9502daaf9eacc8acffb3d2074d5d454
[INFO] running `Command { std: "docker" "start" "-a" "cf1d3e82fe725d38c3c3cefcf3a6d030e9502daaf9eacc8acffb3d2074d5d454", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cf1d3e82fe725d38c3c3cefcf3a6d030e9502daaf9eacc8acffb3d2074d5d454", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cf1d3e82fe725d38c3c3cefcf3a6d030e9502daaf9eacc8acffb3d2074d5d454", kill_on_drop: false }`
[INFO] [stdout] cf1d3e82fe725d38c3c3cefcf3a6d030e9502daaf9eacc8acffb3d2074d5d454
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:dff56e7819e73ed36160586b3445e93eb0be776c16704aeeded9c3fb668b2384" "/opt/rustwide/cargo-home/bin/cargo" "+b286722878e18db29a7fbe672be7c4d3b02e8e4d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dcb06ac6e94c7598c68e890c949d085b345f7b359c22533078d93603746930cf
[INFO] running `Command { std: "docker" "start" "-a" "dcb06ac6e94c7598c68e890c949d085b345f7b359c22533078d93603746930cf", 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] * 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] warning: no edition set: defaulting to the 2015 edition while the latest is 2021
[INFO] [stderr]    Compiling libc v0.2.79
[INFO] [stderr]    Compiling autocfg v0.1.7
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling siphasher v0.2.3
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]     Checking tinyvec v0.3.4
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]    Compiling getrandom v0.1.15
[INFO] [stderr]     Checking traitobject v0.1.0
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling num-traits v0.2.12
[INFO] [stderr]    Compiling serde v1.0.116
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]    Compiling httparse v1.3.4
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]     Checking safemem v0.3.3
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]     Checking unicode-normalization v0.1.13
[INFO] [stderr]    Compiling unicase v1.4.2
[INFO] [stderr]     Checking unsafe-any v0.4.2
[INFO] [stderr]    Compiling num-integer v0.1.43
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking log v0.3.9
[INFO] [stderr]    Compiling unicase v2.6.0
[INFO] [stderr]     Checking thread_local v1.0.1
[INFO] [stderr]     Checking aho-corasick v0.7.14
[INFO] [stderr]     Checking mime v0.2.6
[INFO] [stderr]     Checking typemap v0.3.3
[INFO] [stderr]     Checking base64 v0.9.3
[INFO] [stderr]    Compiling phf_shared v0.7.24
[INFO] [stderr]     Checking regex-syntax v0.6.20
[INFO] [stderr]     Checking language-tags v0.2.2
[INFO] [stderr]    Compiling phf v0.7.24
[INFO] [stderr]     Checking typeable v0.1.2
[INFO] [stderr]    Compiling serde_json v1.0.59
[INFO] [stderr]     Checking ppv-lite86 v0.2.9
[INFO] [stderr]     Checking plugin v0.2.6
[INFO] [stderr]     Checking itoa v0.4.6
[INFO] [stderr]     Checking modifier v0.1.0
[INFO] [stderr]     Checking quick-error v1.2.3
[INFO] [stderr]    Compiling mime_guess v2.0.3
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]     Checking time v0.1.44
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking groupable v0.2.0
[INFO] [stderr]     Checking chunked_transfer v0.3.1
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking ascii v0.8.7
[INFO] [stderr]     Checking mime v0.3.16
[INFO] [stderr]     Checking twoway v0.1.8
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking buf_redux v0.8.4
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking humantime v1.3.0
[INFO] [stderr]     Checking termcolor v1.1.0
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking chrono v0.4.19
[INFO] [stderr]     Checking url v1.7.2
[INFO] [stderr]    Compiling phf_generator v0.7.24
[INFO] [stderr]     Checking hyper v0.10.16
[INFO] [stderr]    Compiling phf_codegen v0.7.24
[INFO] [stderr]    Compiling mime_guess v1.8.8
[INFO] [stderr]     Checking tempfile v3.1.0
[INFO] [stderr]     Checking tiny_http v0.6.2
[INFO] [stderr]     Checking regex v1.4.1
[INFO] [stderr]     Checking iron v0.6.1
[INFO] [stderr]     Checking env_logger v0.5.13
[INFO] [stderr]     Checking mustache v0.9.0
[INFO] [stderr]     Checking nickel v0.11.0
[INFO] [stderr]     Checking 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]     = 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 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[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 <https://github.com/rust-lang/rust/issues/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: 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]     = 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 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
[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 <https://github.com/rust-lang/rust/issues/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 method `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 method `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 method `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 method `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 method `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 method `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 method `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: use of deprecated method `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 method `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 method `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 method `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 method `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: struct `DisplayHeaders` is never constructed
[INFO] [stdout]   --> src/server/field.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct DisplayHeaders<'s, 'a: 's>(&'s [StrHeader<'a>]);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GENERIC_PARSE_ERR` is never used
[INFO] [stdout]    --> src/server/field.rs:549:7
[INFO] [stdout]     |
[INFO] [stdout] 549 | const GENERIC_PARSE_ERR: &str = "an error occurred while parsing field headers";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DisplayHeaders` is never constructed
[INFO] [stdout]   --> src/server/field.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct DisplayHeaders<'s, 'a: 's>(&'s [StrHeader<'a>]);
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GENERIC_PARSE_ERR` is never used
[INFO] [stdout]    --> src/server/field.rs:549:7
[INFO] [stdout]     |
[INFO] [stdout] 549 | const GENERIC_PARSE_ERR: &str = "an error occurred while parsing field headers";
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 11 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.81s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: buf_redux v0.8.4, qiniu-multipart v0.17.3 (/opt/rustwide/workdir), traitobject v0.1.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "dcb06ac6e94c7598c68e890c949d085b345f7b359c22533078d93603746930cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dcb06ac6e94c7598c68e890c949d085b345f7b359c22533078d93603746930cf", kill_on_drop: false }`
[INFO] [stdout] dcb06ac6e94c7598c68e890c949d085b345f7b359c22533078d93603746930cf
