[INFO] fetching crate zhou 0.1.2...
[INFO] testing zhou-0.1.2 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate zhou 0.1.2 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate zhou 0.1.2
[INFO] finished tweaking crates.io crate zhou 0.1.2
[INFO] tweaked toml for crates.io crate zhou 0.1.2 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate zhou 0.1.2 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate zhou 0.1.2 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 878389d5977d9e22d8e43524289b1f7a4a271c691c9ec46b0b525ba5399bfb05
[INFO] running `Command { std: "docker" "start" "-a" "878389d5977d9e22d8e43524289b1f7a4a271c691c9ec46b0b525ba5399bfb05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "878389d5977d9e22d8e43524289b1f7a4a271c691c9ec46b0b525ba5399bfb05", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "878389d5977d9e22d8e43524289b1f7a4a271c691c9ec46b0b525ba5399bfb05", kill_on_drop: false }`
[INFO] [stdout] 878389d5977d9e22d8e43524289b1f7a4a271c691c9ec46b0b525ba5399bfb05
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0c517eb70daa2d22e59c59fe8a5d2b568bda28fea7d2aa370ac0c438a7b6dc5a
[INFO] running `Command { std: "docker" "start" "-a" "0c517eb70daa2d22e59c59fe8a5d2b568bda28fea7d2aa370ac0c438a7b6dc5a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.43
[INFO] [stderr]    Compiling unicode-ident v1.0.3
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling syn v1.0.99
[INFO] [stderr]    Compiling serde_derive v1.0.144
[INFO] [stderr]    Compiling libc v0.2.132
[INFO] [stderr]    Compiling serde v1.0.144
[INFO] [stderr]    Compiling itoa v1.0.3
[INFO] [stderr]    Compiling serde_json v1.0.85
[INFO] [stderr]    Compiling anyhow v1.0.64
[INFO] [stderr]    Compiling num_threads v0.1.6
[INFO] [stderr]    Compiling time-macros v0.2.4
[INFO] [stderr]    Compiling ryu v1.0.11
[INFO] [stderr]    Compiling httpdate v1.0.2
[INFO] [stderr]    Compiling ascii v1.0.0
[INFO] [stderr]    Compiling time v0.3.14
[INFO] [stderr]    Compiling zhou v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:138:11
[INFO] [stdout]     |
[INFO] [stdout] 138 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:182:11
[INFO] [stdout]     |
[INFO] [stdout] 182 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:187:11
[INFO] [stdout]     |
[INFO] [stdout] 187 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]   --> src/request.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |         #[cfg(feature = "log")]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]   --> src/request.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 56 |         #[cfg(feature = "log")]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]   --> src/request.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 #[cfg(feature = "log")]
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/http.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let s = c.state.as_ref();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Header` is never constructed
[INFO] [stdout]    --> src/common.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct Header {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bytes` is never used
[INFO] [stdout]    --> src/common.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | impl Header {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn from_bytes<B1, B2>(header: B1, value: B2) -> Result<Header, ()>
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeaderField` is never constructed
[INFO] [stdout]    --> src/common.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub struct HeaderField(AsciiString);
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_bytes`, `as_str`, and `equiv` are never used
[INFO] [stdout]    --> src/common.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl HeaderField {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 205 |     pub fn from_bytes<B>(bytes: B) -> Result<HeaderField, FromAsciiError<B>>
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn as_str(&self) -> &AsciiStr {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn equiv(&self, other: &'static str) -> bool {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cfg` is never read
[INFO] [stdout]   --> src/http.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct HttpServer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 15 |     addr: String,
[INFO] [stdout] 16 |     cfg: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handler404` is never used
[INFO] [stdout]   --> src/http.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn handler404<T>(c: &Context<Arc<T>>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_and_parse_req_old` is never used
[INFO] [stdout]    --> src/http.rs:143:4
[INFO] [stdout]     |
[INFO] [stdout] 143 | fn build_and_parse_req_old(buf: Vec<u8>) -> crate::request::Request {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add` and `remove` are never used
[INFO] [stdout]   --> src/percent_encoding.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl AsciiSet {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub const fn add(&self, byte: u8) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub const fn remove(&self, byte: u8) -> Self {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTROLS` is never used
[INFO] [stdout]   --> src/percent_encoding.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub const CONTROLS: &AsciiSet = &AsciiSet {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NON_ALPHANUMERIC` is never used
[INFO] [stdout]    --> src/percent_encoding.rs:129:11
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub const NON_ALPHANUMERIC: &AsciiSet = &CONTROLS
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `percent_encode` is never used
[INFO] [stdout]    --> src/percent_encoding.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub fn percent_encode<'a>(input: &'a [u8], ascii_set: &'static AsciiSet) -> PercentEncode<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `utf8_percent_encode` is never used
[INFO] [stdout]    --> src/percent_encoding.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn utf8_percent_encode<'a>(input: &'a str, ascii_set: &'static AsciiSet) -> PercentEncode<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `percent_decode_str` is never used
[INFO] [stdout]    --> src/percent_encoding.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn percent_decode_str(input: &str) -> PercentDecode {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `percent_decode` is never used
[INFO] [stdout]    --> src/percent_encoding.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn percent_decode(input: &[u8]) -> PercentDecode {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `version` is never read
[INFO] [stdout]   --> src/request.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Request {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     version: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Request` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BodyType` is never used
[INFO] [stdout]   --> src/request.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum BodyType {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_wildcard` is never used
[INFO] [stdout]   --> src/request.rs:84:19
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Request {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub(crate) fn set_wildcard(&mut self, w: Option<String>) -> &Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `status_code` and `version` are never read
[INFO] [stdout]  --> src/response.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct Response {
[INFO] [stdout]   |                   -------- fields in this struct
[INFO] [stdout] 8 |     pub status_code: u16,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 9 |     pub version: String,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `status` is never used
[INFO] [stdout]   --> src/response.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Response {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn status(&mut self, code: u16) -> &Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/percent_encoding.rs:310:34
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn percent_decode_str(input: &str) -> PercentDecode {
[INFO] [stdout]     |                                  ^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn percent_decode_str(input: &str) -> PercentDecode<'_> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/percent_encoding.rs:333:30
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn percent_decode(input: &[u8]) -> PercentDecode {
[INFO] [stdout]     |                              ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn percent_decode(input: &[u8]) -> PercentDecode<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/percent_encoding.rs:424:27
[INFO] [stdout]     |
[INFO] [stdout] 424 |             debug_assert!(raw_utf8 == &*bytes as *const [u8]);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 424 -             debug_assert!(raw_utf8 == &*bytes as *const [u8]);
[INFO] [stdout] 424 +             debug_assert!(std::ptr::addr_eq(raw_utf8, &*bytes as *const [u8]));
[INFO] [stdout]     |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 424 -             debug_assert!(raw_utf8 == &*bytes as *const [u8]);
[INFO] [stdout] 424 +             debug_assert!(std::ptr::eq(raw_utf8, &*bytes as *const [u8]));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let s = c.state.as_ref();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct MyState {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 16 |     pub c: Mutex<i32>,
[INFO] [stdout] 17 |     db: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.41s
[INFO] running `Command { std: "docker" "inspect" "0c517eb70daa2d22e59c59fe8a5d2b568bda28fea7d2aa370ac0c438a7b6dc5a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0c517eb70daa2d22e59c59fe8a5d2b568bda28fea7d2aa370ac0c438a7b6dc5a", kill_on_drop: false }`
[INFO] [stdout] 0c517eb70daa2d22e59c59fe8a5d2b568bda28fea7d2aa370ac0c438a7b6dc5a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f719e0d11734a6c6562a2740dcbaa35ae6602b41d1afe64a817b93f90ed4d21e
[INFO] running `Command { std: "docker" "start" "-a" "f719e0d11734a6c6562a2740dcbaa35ae6602b41d1afe64a817b93f90ed4d21e", kill_on_drop: false }`
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:138:11
[INFO] [stdout]     |
[INFO] [stdout] 138 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:182:11
[INFO] [stdout]     |
[INFO] [stdout] 182 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:187:11
[INFO] [stdout]     |
[INFO] [stdout] 187 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]   --> src/request.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |         #[cfg(feature = "log")]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]   --> src/request.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 56 |         #[cfg(feature = "log")]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]   --> src/request.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 #[cfg(feature = "log")]
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/http.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let s = c.state.as_ref();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Header` is never constructed
[INFO] [stdout]    --> src/common.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct Header {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_bytes` is never used
[INFO] [stdout]    --> src/common.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 158 | impl Header {
[INFO] [stdout]     | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 167 |     pub fn from_bytes<B1, B2>(header: B1, value: B2) -> Result<Header, ()>
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeaderField` is never constructed
[INFO] [stdout]    --> src/common.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub struct HeaderField(AsciiString);
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_bytes`, `as_str`, and `equiv` are never used
[INFO] [stdout]    --> src/common.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | impl HeaderField {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] 205 |     pub fn from_bytes<B>(bytes: B) -> Result<HeaderField, FromAsciiError<B>>
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn as_str(&self) -> &AsciiStr {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     pub fn equiv(&self, other: &'static str) -> bool {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cfg` is never read
[INFO] [stdout]   --> src/http.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct HttpServer {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 15 |     addr: String,
[INFO] [stdout] 16 |     cfg: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `handler404` is never used
[INFO] [stdout]   --> src/http.rs:40:4
[INFO] [stdout]    |
[INFO] [stdout] 40 | fn handler404<T>(c: &Context<Arc<T>>) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_and_parse_req_old` is never used
[INFO] [stdout]    --> src/http.rs:143:4
[INFO] [stdout]     |
[INFO] [stdout] 143 | fn build_and_parse_req_old(buf: Vec<u8>) -> crate::request::Request {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add` and `remove` are never used
[INFO] [stdout]   --> src/percent_encoding.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl AsciiSet {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub const fn add(&self, byte: u8) -> Self {
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] ...
[INFO] [stdout] 87 |     pub const fn remove(&self, byte: u8) -> Self {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CONTROLS` is never used
[INFO] [stdout]   --> src/percent_encoding.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub const CONTROLS: &AsciiSet = &AsciiSet {
[INFO] [stdout]    |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NON_ALPHANUMERIC` is never used
[INFO] [stdout]    --> src/percent_encoding.rs:129:11
[INFO] [stdout]     |
[INFO] [stdout] 129 | pub const NON_ALPHANUMERIC: &AsciiSet = &CONTROLS
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `percent_encode` is never used
[INFO] [stdout]    --> src/percent_encoding.rs:216:8
[INFO] [stdout]     |
[INFO] [stdout] 216 | pub fn percent_encode<'a>(input: &'a [u8], ascii_set: &'static AsciiSet) -> PercentEncode<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `utf8_percent_encode` is never used
[INFO] [stdout]    --> src/percent_encoding.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | pub fn utf8_percent_encode<'a>(input: &'a str, ascii_set: &'static AsciiSet) -> PercentEncode<'a> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `percent_decode_str` is never used
[INFO] [stdout]    --> src/percent_encoding.rs:310:8
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn percent_decode_str(input: &str) -> PercentDecode {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `percent_decode` is never used
[INFO] [stdout]    --> src/percent_encoding.rs:333:8
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn percent_decode(input: &[u8]) -> PercentDecode {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `version` is never read
[INFO] [stdout]   --> src/request.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Request {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     version: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Request` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `BodyType` is never used
[INFO] [stdout]   --> src/request.rs:21:10
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum BodyType {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_wildcard` is never used
[INFO] [stdout]   --> src/request.rs:84:19
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Request {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub(crate) fn set_wildcard(&mut self, w: Option<String>) -> &Self {
[INFO] [stdout]    |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling zhou v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: fields `status_code` and `version` are never read
[INFO] [stdout]  --> src/response.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub(crate) struct Response {
[INFO] [stdout]   |                   -------- fields in this struct
[INFO] [stdout] 8 |     pub status_code: u16,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout] 9 |     pub version: String,
[INFO] [stdout]   |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `status` is never used
[INFO] [stdout]   --> src/response.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl Response {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn status(&mut self, code: u16) -> &Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/percent_encoding.rs:310:34
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn percent_decode_str(input: &str) -> PercentDecode {
[INFO] [stdout]     |                                  ^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 310 | pub fn percent_decode_str(input: &str) -> PercentDecode<'_> {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/percent_encoding.rs:333:30
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn percent_decode(input: &[u8]) -> PercentDecode {
[INFO] [stdout]     |                              ^^^^^     ^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 333 | pub fn percent_decode(input: &[u8]) -> PercentDecode<'_> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous wide pointer comparison, the comparison includes metadata which may not be expected
[INFO] [stdout]    --> src/percent_encoding.rs:424:27
[INFO] [stdout]     |
[INFO] [stdout] 424 |             debug_assert!(raw_utf8 == &*bytes as *const [u8]);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(ambiguous_wide_pointer_comparisons)]` on by default
[INFO] [stdout] help: use `std::ptr::addr_eq` or untyped pointers to only compare their addresses
[INFO] [stdout]     |
[INFO] [stdout] 424 -             debug_assert!(raw_utf8 == &*bytes as *const [u8]);
[INFO] [stdout] 424 +             debug_assert!(std::ptr::addr_eq(raw_utf8, &*bytes as *const [u8]));
[INFO] [stdout]     |
[INFO] [stdout] help: use explicit `std::ptr::eq` method to compare metadata and addresses
[INFO] [stdout]     |
[INFO] [stdout] 424 -             debug_assert!(raw_utf8 == &*bytes as *const [u8]);
[INFO] [stdout] 424 +             debug_assert!(std::ptr::eq(raw_utf8, &*bytes as *const [u8]));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let s = c.state.as_ref();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct MyState {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 16 |     pub c: Mutex<i32>,
[INFO] [stdout] 17 |     db: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `msg` is never read
[INFO] [stdout]  --> tests/ref_cell.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | struct Ctx {
[INFO] [stdout]   |        --- field in this struct
[INFO] [stdout] 4 |     pub index: RefCell<usize>,
[INFO] [stdout] 5 |     msg: Vec<String>,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `bytes`
[INFO] [stdout]  --> tests/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bytes::Bytes;
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `bytes`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `bytes`, use `cargo add bytes` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `h2`
[INFO] [stdout]  --> tests/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use h2::server::{self, SendResponse};
[INFO] [stdout]   |     ^^ use of unresolved module or unlinked crate `h2`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `h2`, use `cargo add h2` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `h2`
[INFO] [stdout]  --> tests/main.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use h2::server::{self, SendResponse};
[INFO] [stdout]   |     ^^ use of unresolved module or unlinked crate `h2`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `h2`, use `cargo add h2` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `h2`
[INFO] [stdout]  --> tests/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use h2::RecvStream;
[INFO] [stdout]   |     ^^ use of unresolved module or unlinked crate `h2`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `h2`, use `cargo add h2` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]  --> tests/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tokio::net::{TcpListener, TcpStream};
[INFO] [stdout]   |     ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `http`
[INFO] [stdout]  --> tests/main.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use http::Request;
[INFO] [stdout]   |     ^^^^ use of unresolved module or unlinked crate `http`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `http`, use `cargo add http` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]  --> tests/main.rs:8:3
[INFO] [stdout]   |
[INFO] [stdout] 8 | #[tokio::main]
[INFO] [stdout]   |   ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `http`
[INFO] [stdout]   --> tests/main.rs:54:20
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let response = http::Response::new(());
[INFO] [stdout]    |                    ^^^^ use of unresolved module or unlinked crate `http`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `http`, use `cargo add http` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `env_logger`
[INFO] [stdout]   --> tests/main.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let _ = env_logger::try_init();
[INFO] [stdout]    |             ^^^^^^^^^^ use of unresolved module or unlinked crate `env_logger`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `env_logger`, use `cargo add env_logger` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> tests/main.rs:18:13
[INFO] [stdout]    |
[INFO] [stdout] 18 |             tokio::spawn(async move {
[INFO] [stdout]    |             ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]   --> tests/main.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         tokio::spawn(async move {
[INFO] [stdout]    |         ^^^^^ use of unresolved module or unlinked crate `tokio`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `tokio`, use `cargo add tokio` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zhou` (test "main") due to 11 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/main.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let s = c.state.as_ref();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `db` is never read
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct MyState {
[INFO] [stdout]    |        ------- field in this struct
[INFO] [stdout] 16 |     pub c: Mutex<i32>,
[INFO] [stdout] 17 |     db: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:133:11
[INFO] [stdout]     |
[INFO] [stdout] 133 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:138:11
[INFO] [stdout]     |
[INFO] [stdout] 138 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:182:11
[INFO] [stdout]     |
[INFO] [stdout] 182 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]    --> src/http.rs:187:11
[INFO] [stdout]     |
[INFO] [stdout] 187 |     #[cfg(feature = "log")]
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/http.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ascii::AsciiChar::Hash`
[INFO] [stdout]    --> src/node.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |     use ascii::AsciiChar::Hash;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/node.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]   --> src/request.rs:39:15
[INFO] [stdout]    |
[INFO] [stdout] 39 |         #[cfg(feature = "log")]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]   --> src/request.rs:56:15
[INFO] [stdout]    |
[INFO] [stdout] 56 |         #[cfg(feature = "log")]
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `log`
[INFO] [stdout]   --> src/request.rs:32:23
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 #[cfg(feature = "log")]
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `log` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/node.rs:141:32
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let sc: Context<i32> = Context::new(Request::default(), params, 1);
[INFO] [stdout]     |                                ^^^^^^^^^^^^-------------------------------
[INFO] [stdout]     |                                            ||
[INFO] [stdout]     |                                            |expected `&Request`, found `Request`
[INFO] [stdout]     |                                            argument #4 of type `std::option::Option<Vec<&Box<(dyn for<'a, 'b> Fn(&'a context::Context<'b, i32>) + Send + Sync + 'static)>>>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/context.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  26 |     pub fn new(r: &'a Request, params: HashMap<String, String>, state: T, fn_chains: Option<Vec<&'a HandlerFn<T>>>) -> Self {
[INFO] [stdout]     |            ^^^ --------------                                             ----------------------------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let sc: Context<i32> = Context::new(&Request::default(), params, 1);
[INFO] [stdout]     |                                             +
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 141 -         let sc: Context<i32> = Context::new(Request::default(), params, 1);
[INFO] [stdout] 141 +         let sc: Context<i32> = Context::new(/* &request::Request */, params, 1, /* std::option::Option<Vec<&Box<(dyn for<'a, 'b> Fn(&'a context::Context<'b, i32>) + Send + Sync + 'static)>>> */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/node.rs:198:32
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let sc: Context<i32> = Context::new(Request::default(), param2, 1);
[INFO] [stdout]     |                                ^^^^^^^^^^^^-------------------------------
[INFO] [stdout]     |                                            ||
[INFO] [stdout]     |                                            |expected `&Request`, found `Request`
[INFO] [stdout]     |                                            argument #4 of type `std::option::Option<Vec<&Box<(dyn for<'a, 'b> Fn(&'a context::Context<'b, i32>) + Send + Sync + 'static)>>>` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/context.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  26 |     pub fn new(r: &'a Request, params: HashMap<String, String>, state: T, fn_chains: Option<Vec<&'a HandlerFn<T>>>) -> Self {
[INFO] [stdout]     |            ^^^ --------------                                             ----------------------------------------
[INFO] [stdout] help: consider borrowing here
[INFO] [stdout]     |
[INFO] [stdout] 198 |         let sc: Context<i32> = Context::new(&Request::default(), param2, 1);
[INFO] [stdout]     |                                             +
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 198 -         let sc: Context<i32> = Context::new(Request::default(), param2, 1);
[INFO] [stdout] 198 +         let sc: Context<i32> = Context::new(/* &request::Request */, param2, 1, /* std::option::Option<Vec<&Box<(dyn for<'a, 'b> Fn(&'a context::Context<'b, i32>) + Send + Sync + 'static)>>> */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/http.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |     let s = c.state.as_ref();
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zhou` (lib test) due to 2 previous errors; 11 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f719e0d11734a6c6562a2740dcbaa35ae6602b41d1afe64a817b93f90ed4d21e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f719e0d11734a6c6562a2740dcbaa35ae6602b41d1afe64a817b93f90ed4d21e", kill_on_drop: false }`
[INFO] [stdout] f719e0d11734a6c6562a2740dcbaa35ae6602b41d1afe64a817b93f90ed4d21e
