[INFO] fetching crate fastcgi 1.0.0... [INFO] testing fastcgi-1.0.0 against master#cdb45c87e2cd43495379f7e867e3cc15dcee9f93 for pr-145838-1 [INFO] extracting crate fastcgi 1.0.0 into /workspace/builds/worker-7-tc1/source [INFO] started tweaking crates.io crate fastcgi 1.0.0 [INFO] finished tweaking crates.io crate fastcgi 1.0.0 [INFO] tweaked toml for crates.io crate fastcgi 1.0.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fastcgi 1.0.0 on toolchain cdb45c87e2cd43495379f7e867e3cc15dcee9f93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 1 package to latest compatible version [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ea407d7935b3d1d2eed89a8594256ea72b085916261e7a49419fbd67b1eab7a4 [INFO] running `Command { std: "docker" "start" "-a" "ea407d7935b3d1d2eed89a8594256ea72b085916261e7a49419fbd67b1eab7a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ea407d7935b3d1d2eed89a8594256ea72b085916261e7a49419fbd67b1eab7a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ea407d7935b3d1d2eed89a8594256ea72b085916261e7a49419fbd67b1eab7a4", kill_on_drop: false }` [INFO] [stdout] ea407d7935b3d1d2eed89a8594256ea72b085916261e7a49419fbd67b1eab7a4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 10cd97f0450d2fd5c00e135cbd0aae1421d4a957cd554d1986235c1170568d29 [INFO] running `Command { std: "docker" "start" "-a" "10cd97f0450d2fd5c00e135cbd0aae1421d4a957cd554d1986235c1170568d29", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling fastcgi v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | try!((&mut r).take(1).read_to_end(&mut buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:95:21 [INFO] [stdout] | [INFO] [stdout] 95 | assert!(try!((&mut r).take(3).read_to_end(&mut buf)) == 3); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:111:19 [INFO] [stdout] | [INFO] [stdout] 111 | let key_len = try!(read_len(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | let value_len = try!(read_len(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | assert!(try!((&mut r).take(key_len as u64).read_to_string(&mut key)) == key_len as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | assert!(try!((&mut r).take(value_len as u64).read_to_string(&mut value)) == value_len as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:125:27 [INFO] [stdout] | [INFO] [stdout] 125 | params.extend(try!(read_pairs(r)).into_iter()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | try!(w.write_all(&[n as u8])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | try!(w.write_all(&buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | try!(write_len(w, key.len() as u32)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | try!(write_len(w, value.len() as u32)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | try!(write!(w, "{}{}", key, value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | try!(w.write_all(&[ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | try!(w.write_all(content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | assert!(try!(r.take(HEADER_LEN as u64).read_to_end(&mut header)) == HEADER_LEN); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | assert!(try!(r.take(content_length as u64).read_to_end(&mut content)) == content_length as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(try!(r.take(padding_length as u64).read_to_end(&mut Vec::with_capacity(padding_length as usize))) == padding_length as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | try!(write_record(w, 3, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | try!(write_record(w, 6, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | try!(write_record(w, 7, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | try!(write_pairs(&mut content, items)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | try!(write_record(w, 10, 0, &content.into_inner())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 218 | try!(write_record(w, 11, 0, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:226:50 [INFO] [stdout] | [INFO] [stdout] 226 | let (record_type, request_id, content) = try!(read_record(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:250:29 [INFO] [stdout] | [INFO] [stdout] 250 | let items = try!(read_pairs(&mut Cursor::new(content))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:287:24 [INFO] [stdout] | [INFO] [stdout] 287 | match (try!(Record::receive(&mut sock)), self.req.filter_data) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:289:25 [INFO] [stdout] | [INFO] [stdout] 289 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:292:25 [INFO] [stdout] | [INFO] [stdout] 292 | try!( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:298:25 [INFO] [stdout] | [INFO] [stdout] 298 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:341:13 [INFO] [stdout] | [INFO] [stdout] 341 | try!(chunk.read(buf)) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:340:29 [INFO] [stdout] | [INFO] [stdout] 340 | let mut chunk = try!(self.fill_buf()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:367:25 [INFO] [stdout] | [INFO] [stdout] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | writer!(Stdout); [INFO] [stdout] | --------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:367:25 [INFO] [stdout] | [INFO] [stdout] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 382 | writer!(Stderr); [INFO] [stdout] | --------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:419:19 [INFO] [stdout] | [INFO] [stdout] 419 | match try!(Record::receive(&mut sock)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:421:21 [INFO] [stdout] | [INFO] [stdout] 421 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | try!(Record::GetValuesResult(get_values(keys)).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:430:21 [INFO] [stdout] | [INFO] [stdout] 430 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:446:19 [INFO] [stdout] | [INFO] [stdout] 446 | match try!(Record::receive(&mut &*sock)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:448:21 [INFO] [stdout] | [INFO] [stdout] 448 | try!(Record::UnknownType(rec_type).send(&mut &*sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | try!( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:457:21 [INFO] [stdout] | [INFO] [stdout] 457 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:477:39 [INFO] [stdout] | [INFO] [stdout] 477 | params.extend(try!(read_pairs(&mut Cursor::new(&buf)))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:403:27 [INFO] [stdout] | [INFO] [stdout] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:132:24 [INFO] [stdout] | [INFO] [stdout] 132 | fn write_len(mut w: &mut W, n: u32) -> io::Result<()> { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | mem::transmute::((0x80000000 & n).to_be()) [INFO] [stdout] | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | mem::transmute::<_, [u8; 2]>(request_id.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | mem::transmute::<_, [u8; 2]>((content.len() as u16).to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:177:44 [INFO] [stdout] | [INFO] [stdout] 177 | let request_id = unsafe { u16::from_be(mem::transmute([header[2], header[3]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:178:48 [INFO] [stdout] | [INFO] [stdout] 178 | let content_length = unsafe { u16::from_be(mem::transmute([header[4], header[5]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | mem::transmute::<_, [u8; 4]>(app_status.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:230:34 [INFO] [stdout] | [INFO] [stdout] 230 | u16::from_be(mem::transmute([content[0], content[1]])) [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:510:19 [INFO] [stdout] | [INFO] [stdout] 510 | pub fn params(&self) -> Params { [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] 510 | pub fn params(&self) -> Params<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:515:18 [INFO] [stdout] | [INFO] [stdout] 515 | pub fn stdin(&mut self) -> Stdin { [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] 515 | pub fn stdin(&mut self) -> Stdin<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:520:19 [INFO] [stdout] | [INFO] [stdout] 520 | pub fn stdout(&mut self) -> Stdout { [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] 520 | pub fn stdout(&mut self) -> Stdout<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:525:19 [INFO] [stdout] | [INFO] [stdout] 525 | pub fn stderr(&mut self) -> Stderr { [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] 525 | pub fn stderr(&mut self) -> Stderr<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:578:30 [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!(e.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!("{}", e.to_string()), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.50s [INFO] running `Command { std: "docker" "inspect" "10cd97f0450d2fd5c00e135cbd0aae1421d4a957cd554d1986235c1170568d29", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10cd97f0450d2fd5c00e135cbd0aae1421d4a957cd554d1986235c1170568d29", kill_on_drop: false }` [INFO] [stdout] 10cd97f0450d2fd5c00e135cbd0aae1421d4a957cd554d1986235c1170568d29 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e37a6233dcf35ed21399d60a8ad26376e7ebfa270cda3c2b3ca15bf2c7f72f8f [INFO] running `Command { std: "docker" "start" "-a" "e37a6233dcf35ed21399d60a8ad26376e7ebfa270cda3c2b3ca15bf2c7f72f8f", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | try!((&mut r).take(1).read_to_end(&mut buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:95:21 [INFO] [stdout] | [INFO] [stdout] 95 | assert!(try!((&mut r).take(3).read_to_end(&mut buf)) == 3); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:111:19 [INFO] [stdout] | [INFO] [stdout] 111 | let key_len = try!(read_len(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | let value_len = try!(read_len(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | assert!(try!((&mut r).take(key_len as u64).read_to_string(&mut key)) == key_len as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | assert!(try!((&mut r).take(value_len as u64).read_to_string(&mut value)) == value_len as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:125:27 [INFO] [stdout] | [INFO] [stdout] 125 | params.extend(try!(read_pairs(r)).into_iter()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | try!(w.write_all(&[n as u8])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | try!(w.write_all(&buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | try!(write_len(w, key.len() as u32)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | try!(write_len(w, value.len() as u32)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | try!(write!(w, "{}{}", key, value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | try!(w.write_all(&[ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | try!(w.write_all(content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | assert!(try!(r.take(HEADER_LEN as u64).read_to_end(&mut header)) == HEADER_LEN); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | assert!(try!(r.take(content_length as u64).read_to_end(&mut content)) == content_length as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(try!(r.take(padding_length as u64).read_to_end(&mut Vec::with_capacity(padding_length as usize))) == padding_length as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | try!(write_record(w, 3, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | try!(write_record(w, 6, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | try!(write_record(w, 7, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | try!(write_pairs(&mut content, items)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | try!(write_record(w, 10, 0, &content.into_inner())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 218 | try!(write_record(w, 11, 0, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:226:50 [INFO] [stdout] | [INFO] [stdout] 226 | let (record_type, request_id, content) = try!(read_record(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:250:29 [INFO] [stdout] | [INFO] [stdout] 250 | let items = try!(read_pairs(&mut Cursor::new(content))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:287:24 [INFO] [stdout] | [INFO] [stdout] 287 | match (try!(Record::receive(&mut sock)), self.req.filter_data) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:289:25 [INFO] [stdout] | [INFO] [stdout] 289 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:292:25 [INFO] [stdout] | [INFO] [stdout] 292 | try!( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:298:25 [INFO] [stdout] | [INFO] [stdout] 298 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:341:13 [INFO] [stdout] | [INFO] [stdout] 341 | try!(chunk.read(buf)) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:340:29 [INFO] [stdout] | [INFO] [stdout] 340 | let mut chunk = try!(self.fill_buf()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling fastcgi v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:367:25 [INFO] [stdout] | [INFO] [stdout] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | writer!(Stdout); [INFO] [stdout] | --------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:367:25 [INFO] [stdout] | [INFO] [stdout] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 382 | writer!(Stderr); [INFO] [stdout] | --------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:419:19 [INFO] [stdout] | [INFO] [stdout] 419 | match try!(Record::receive(&mut sock)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:421:21 [INFO] [stdout] | [INFO] [stdout] 421 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | try!(Record::GetValuesResult(get_values(keys)).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:430:21 [INFO] [stdout] | [INFO] [stdout] 430 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:446:19 [INFO] [stdout] | [INFO] [stdout] 446 | match try!(Record::receive(&mut &*sock)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:448:21 [INFO] [stdout] | [INFO] [stdout] 448 | try!(Record::UnknownType(rec_type).send(&mut &*sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | try!( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:457:21 [INFO] [stdout] | [INFO] [stdout] 457 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:477:39 [INFO] [stdout] | [INFO] [stdout] 477 | params.extend(try!(read_pairs(&mut Cursor::new(&buf)))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:403:27 [INFO] [stdout] | [INFO] [stdout] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:132:24 [INFO] [stdout] | [INFO] [stdout] 132 | fn write_len(mut w: &mut W, n: u32) -> io::Result<()> { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | mem::transmute::((0x80000000 & n).to_be()) [INFO] [stdout] | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | mem::transmute::<_, [u8; 2]>(request_id.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | mem::transmute::<_, [u8; 2]>((content.len() as u16).to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:177:44 [INFO] [stdout] | [INFO] [stdout] 177 | let request_id = unsafe { u16::from_be(mem::transmute([header[2], header[3]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:178:48 [INFO] [stdout] | [INFO] [stdout] 178 | let content_length = unsafe { u16::from_be(mem::transmute([header[4], header[5]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | mem::transmute::<_, [u8; 4]>(app_status.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:230:34 [INFO] [stdout] | [INFO] [stdout] 230 | u16::from_be(mem::transmute([content[0], content[1]])) [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:510:19 [INFO] [stdout] | [INFO] [stdout] 510 | pub fn params(&self) -> Params { [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] 510 | pub fn params(&self) -> Params<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:515:18 [INFO] [stdout] | [INFO] [stdout] 515 | pub fn stdin(&mut self) -> Stdin { [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] 515 | pub fn stdin(&mut self) -> Stdin<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:520:19 [INFO] [stdout] | [INFO] [stdout] 520 | pub fn stdout(&mut self) -> Stdout { [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] 520 | pub fn stdout(&mut self) -> Stdout<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:525:19 [INFO] [stdout] | [INFO] [stdout] 525 | pub fn stderr(&mut self) -> Stderr { [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] 525 | pub fn stderr(&mut self) -> Stderr<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:578:30 [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!(e.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!("{}", e.to_string()), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | try!((&mut r).take(1).read_to_end(&mut buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:95:21 [INFO] [stdout] | [INFO] [stdout] 95 | assert!(try!((&mut r).take(3).read_to_end(&mut buf)) == 3); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:111:19 [INFO] [stdout] | [INFO] [stdout] 111 | let key_len = try!(read_len(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | let value_len = try!(read_len(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | assert!(try!((&mut r).take(key_len as u64).read_to_string(&mut key)) == key_len as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | assert!(try!((&mut r).take(value_len as u64).read_to_string(&mut value)) == value_len as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:125:27 [INFO] [stdout] | [INFO] [stdout] 125 | params.extend(try!(read_pairs(r)).into_iter()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | try!(w.write_all(&[n as u8])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | try!(w.write_all(&buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | try!(write_len(w, key.len() as u32)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | try!(write_len(w, value.len() as u32)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | try!(write!(w, "{}{}", key, value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | try!(w.write_all(&[ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | try!(w.write_all(content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | assert!(try!(r.take(HEADER_LEN as u64).read_to_end(&mut header)) == HEADER_LEN); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | assert!(try!(r.take(content_length as u64).read_to_end(&mut content)) == content_length as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(try!(r.take(padding_length as u64).read_to_end(&mut Vec::with_capacity(padding_length as usize))) == padding_length as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | try!(write_record(w, 3, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | try!(write_record(w, 6, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | try!(write_record(w, 7, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | try!(write_pairs(&mut content, items)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | try!(write_record(w, 10, 0, &content.into_inner())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 218 | try!(write_record(w, 11, 0, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:226:50 [INFO] [stdout] | [INFO] [stdout] 226 | let (record_type, request_id, content) = try!(read_record(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:250:29 [INFO] [stdout] | [INFO] [stdout] 250 | let items = try!(read_pairs(&mut Cursor::new(content))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:287:24 [INFO] [stdout] | [INFO] [stdout] 287 | match (try!(Record::receive(&mut sock)), self.req.filter_data) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:289:25 [INFO] [stdout] | [INFO] [stdout] 289 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:292:25 [INFO] [stdout] | [INFO] [stdout] 292 | try!( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:298:25 [INFO] [stdout] | [INFO] [stdout] 298 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:341:13 [INFO] [stdout] | [INFO] [stdout] 341 | try!(chunk.read(buf)) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:340:29 [INFO] [stdout] | [INFO] [stdout] 340 | let mut chunk = try!(self.fill_buf()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:367:25 [INFO] [stdout] | [INFO] [stdout] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | writer!(Stdout); [INFO] [stdout] | --------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:367:25 [INFO] [stdout] | [INFO] [stdout] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 382 | writer!(Stderr); [INFO] [stdout] | --------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:419:19 [INFO] [stdout] | [INFO] [stdout] 419 | match try!(Record::receive(&mut sock)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:421:21 [INFO] [stdout] | [INFO] [stdout] 421 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | try!(Record::GetValuesResult(get_values(keys)).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:430:21 [INFO] [stdout] | [INFO] [stdout] 430 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:446:19 [INFO] [stdout] | [INFO] [stdout] 446 | match try!(Record::receive(&mut &*sock)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:448:21 [INFO] [stdout] | [INFO] [stdout] 448 | try!(Record::UnknownType(rec_type).send(&mut &*sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | try!( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:457:21 [INFO] [stdout] | [INFO] [stdout] 457 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:477:39 [INFO] [stdout] | [INFO] [stdout] 477 | params.extend(try!(read_pairs(&mut Cursor::new(&buf)))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:403:27 [INFO] [stdout] | [INFO] [stdout] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:132:24 [INFO] [stdout] | [INFO] [stdout] 132 | fn write_len(mut w: &mut W, n: u32) -> io::Result<()> { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | mem::transmute::((0x80000000 & n).to_be()) [INFO] [stdout] | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | mem::transmute::<_, [u8; 2]>(request_id.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | mem::transmute::<_, [u8; 2]>((content.len() as u16).to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:177:44 [INFO] [stdout] | [INFO] [stdout] 177 | let request_id = unsafe { u16::from_be(mem::transmute([header[2], header[3]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:178:48 [INFO] [stdout] | [INFO] [stdout] 178 | let content_length = unsafe { u16::from_be(mem::transmute([header[4], header[5]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | mem::transmute::<_, [u8; 4]>(app_status.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:230:34 [INFO] [stdout] | [INFO] [stdout] 230 | u16::from_be(mem::transmute([content[0], content[1]])) [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:510:19 [INFO] [stdout] | [INFO] [stdout] 510 | pub fn params(&self) -> Params { [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] 510 | pub fn params(&self) -> Params<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:515:18 [INFO] [stdout] | [INFO] [stdout] 515 | pub fn stdin(&mut self) -> Stdin { [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] 515 | pub fn stdin(&mut self) -> Stdin<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:520:19 [INFO] [stdout] | [INFO] [stdout] 520 | pub fn stdout(&mut self) -> Stdout { [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] 520 | pub fn stdout(&mut self) -> Stdout<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:525:19 [INFO] [stdout] | [INFO] [stdout] 525 | pub fn stderr(&mut self) -> Stderr { [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] 525 | pub fn stderr(&mut self) -> Stderr<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:578:30 [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!(e.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!("{}", e.to_string()), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.59s [INFO] running `Command { std: "docker" "inspect" "e37a6233dcf35ed21399d60a8ad26376e7ebfa270cda3c2b3ca15bf2c7f72f8f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e37a6233dcf35ed21399d60a8ad26376e7ebfa270cda3c2b3ca15bf2c7f72f8f", kill_on_drop: false }` [INFO] [stdout] e37a6233dcf35ed21399d60a8ad26376e7ebfa270cda3c2b3ca15bf2c7f72f8f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+cdb45c87e2cd43495379f7e867e3cc15dcee9f93" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 2100ad59f92020854d8f31b9018fe464d7f5e883e6b6c7f7198e7dda5c376c24 [INFO] running `Command { std: "docker" "start" "-a" "2100ad59f92020854d8f31b9018fe464d7f5e883e6b6c7f7198e7dda5c376c24", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | try!((&mut r).take(1).read_to_end(&mut buf)); [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:95:21 [INFO] [stderr] | [INFO] [stderr] 95 | assert!(try!((&mut r).take(3).read_to_end(&mut buf)) == 3); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:111:19 [INFO] [stderr] | [INFO] [stderr] 111 | let key_len = try!(read_len(r)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:112:21 [INFO] [stderr] | [INFO] [stderr] 112 | let value_len = try!(read_len(r)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:114:13 [INFO] [stderr] | [INFO] [stderr] 114 | assert!(try!((&mut r).take(key_len as u64).read_to_string(&mut key)) == key_len as usize); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:116:13 [INFO] [stderr] | [INFO] [stderr] 116 | assert!(try!((&mut r).take(value_len as u64).read_to_string(&mut value)) == value_len as usize); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:125:27 [INFO] [stderr] | [INFO] [stderr] 125 | params.extend(try!(read_pairs(r)).into_iter()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:134:9 [INFO] [stderr] | [INFO] [stderr] 134 | try!(w.write_all(&[n as u8])); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:140:9 [INFO] [stderr] | [INFO] [stderr] 140 | try!(w.write_all(&buf)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:147:9 [INFO] [stderr] | [INFO] [stderr] 147 | try!(write_len(w, key.len() as u32)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:148:9 [INFO] [stderr] | [INFO] [stderr] 148 | try!(write_len(w, value.len() as u32)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:149:9 [INFO] [stderr] | [INFO] [stderr] 149 | try!(write!(w, "{}{}", key, value)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:163:5 [INFO] [stderr] | [INFO] [stderr] 163 | try!(w.write_all(&[ [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:167:5 [INFO] [stderr] | [INFO] [stderr] 167 | try!(w.write_all(content)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:174:13 [INFO] [stderr] | [INFO] [stderr] 174 | assert!(try!(r.take(HEADER_LEN as u64).read_to_end(&mut header)) == HEADER_LEN); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:181:13 [INFO] [stderr] | [INFO] [stderr] 181 | assert!(try!(r.take(content_length as u64).read_to_end(&mut content)) == content_length as usize); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:182:13 [INFO] [stderr] | [INFO] [stderr] 182 | assert!(try!(r.take(padding_length as u64).read_to_end(&mut Vec::with_capacity(padding_length as usize))) == padding_length as usize); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:203:17 [INFO] [stderr] | [INFO] [stderr] 203 | try!(write_record(w, 3, request_id, &content)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:206:17 [INFO] [stderr] | [INFO] [stderr] 206 | try!(write_record(w, 6, request_id, &content)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:209:17 [INFO] [stderr] | [INFO] [stderr] 209 | try!(write_record(w, 7, request_id, &content)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:213:17 [INFO] [stderr] | [INFO] [stderr] 213 | try!(write_pairs(&mut content, items)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:214:17 [INFO] [stderr] | [INFO] [stderr] 214 | try!(write_record(w, 10, 0, &content.into_inner())); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:218:17 [INFO] [stderr] | [INFO] [stderr] 218 | try!(write_record(w, 11, 0, &content)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:226:50 [INFO] [stderr] | [INFO] [stderr] 226 | let (record_type, request_id, content) = try!(read_record(r)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:250:29 [INFO] [stderr] | [INFO] [stderr] 250 | let items = try!(read_pairs(&mut Cursor::new(content))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:287:24 [INFO] [stderr] | [INFO] [stderr] 287 | match (try!(Record::receive(&mut sock)), self.req.filter_data) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:289:25 [INFO] [stderr] | [INFO] [stderr] 289 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:292:25 [INFO] [stderr] | [INFO] [stderr] 292 | try!( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:298:25 [INFO] [stderr] | [INFO] [stderr] 298 | try!(Record::EndRequest { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stdout] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] running 0 tests [INFO] [stderr] --> src/lib.rs:341:13 [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stderr] 341 | try!(chunk.read(buf)) [INFO] [stdout] [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:340:29 [INFO] [stderr] | [INFO] [stderr] 340 | let mut chunk = try!(self.fill_buf()); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:367:25 [INFO] [stderr] | [INFO] [stderr] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 380 | writer!(Stdout); [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:367:25 [INFO] [stderr] | [INFO] [stderr] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stderr] | ^^^ [INFO] [stderr] ... [INFO] [stderr] 382 | writer!(Stderr); [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:419:19 [INFO] [stderr] | [INFO] [stderr] 419 | match try!(Record::receive(&mut sock)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:421:21 [INFO] [stderr] | [INFO] [stderr] 421 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:424:21 [INFO] [stderr] | [INFO] [stderr] 424 | try!(Record::GetValuesResult(get_values(keys)).send(&mut sock)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:430:21 [INFO] [stderr] | [INFO] [stderr] 430 | try!(Record::EndRequest { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:446:19 [INFO] [stderr] | [INFO] [stderr] 446 | match try!(Record::receive(&mut &*sock)) { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:448:21 [INFO] [stderr] | [INFO] [stderr] 448 | try!(Record::UnknownType(rec_type).send(&mut &*sock)); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:451:21 [INFO] [stderr] | [INFO] [stderr] 451 | try!( [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:457:21 [INFO] [stderr] | [INFO] [stderr] 457 | try!(Record::EndRequest { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:477:39 [INFO] [stderr] | [INFO] [stderr] 477 | params.extend(try!(read_pairs(&mut Cursor::new(&buf)))); [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lib.rs:403:27 [INFO] [stderr] | [INFO] [stderr] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:132:24 [INFO] [stderr] | [INFO] [stderr] 132 | fn write_len(mut w: &mut W, n: u32) -> io::Result<()> { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | mem::transmute::((0x80000000 & n).to_be()) [INFO] [stderr] | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u32::to_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stderr] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | mem::transmute::<_, [u8; 2]>(request_id.to_be()) [INFO] [stderr] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u16::to_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | mem::transmute::<_, [u8; 2]>((content.len() as u16).to_be()) [INFO] [stderr] | ----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u16::to_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:177:44 [INFO] [stderr] | [INFO] [stderr] 177 | let request_id = unsafe { u16::from_be(mem::transmute([header[2], header[3]])) }; [INFO] [stderr] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u16::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:178:48 [INFO] [stderr] | [INFO] [stderr] 178 | let content_length = unsafe { u16::from_be(mem::transmute([header[4], header[5]])) }; [INFO] [stderr] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u16::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:191:21 [INFO] [stderr] | [INFO] [stderr] 191 | mem::transmute::<_, [u8; 4]>(app_status.to_be()) [INFO] [stderr] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `i32::to_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:230:34 [INFO] [stderr] | [INFO] [stderr] 230 | u16::from_be(mem::transmute([content[0], content[1]])) [INFO] [stderr] | --------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u16::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:510:19 [INFO] [stderr] | [INFO] [stderr] 510 | pub fn params(&self) -> Params { [INFO] [stderr] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 510 | pub fn params(&self) -> Params<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:515:18 [INFO] [stderr] | [INFO] [stderr] 515 | pub fn stdin(&mut self) -> Stdin { [INFO] [stderr] | ^^^^^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 515 | pub fn stdin(&mut self) -> Stdin<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:520:19 [INFO] [stderr] | [INFO] [stderr] 520 | pub fn stdout(&mut self) -> Stdout { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 520 | pub fn stdout(&mut self) -> Stdout<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:525:19 [INFO] [stderr] | [INFO] [stderr] 525 | pub fn stderr(&mut self) -> Stderr { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 525 | pub fn stderr(&mut self) -> Stderr<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:578:30 [INFO] [stderr] | [INFO] [stderr] 578 | Err(e) => panic!(e.to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: add a "{}" format string to `Display` the message [INFO] [stderr] | [INFO] [stderr] 578 | Err(e) => panic!("{}", e.to_string()), [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: `fastcgi` (lib) generated 56 warnings (run `cargo fix --lib -p fastcgi` to apply 14 suggestions) [INFO] [stderr] warning: `fastcgi` (lib test) generated 56 warnings (56 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fastcgi-488a7ed74da5822e) [INFO] [stderr] Doc-tests fastcgi [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] [stdout] test src/lib.rs - (line 30) ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/lib.rs - (line 30) stdout ---- [INFO] [stdout] Test executable failed (exit status: 101). [INFO] [stdout] [INFO] [stdout] stderr: [INFO] [stdout] [INFO] [stdout] thread 'main' (39) panicked at /opt/rustwide/workdir/src/lib.rs:578:23: [INFO] [stdout] Socket operation on non-socket (os error 88) [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5c55727268f2 - std::backtrace_rs::backtrace::libunwind::trace::h7cddb8376417e7cc [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5c55727268f2 - std::backtrace_rs::backtrace::trace_unsynchronized::hb4e41acf4b349ff1 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5c55727268f2 - std::sys::backtrace::_print_fmt::h1222b80910ba6eb5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5c55727268f2 - ::fmt::h5bb8a979ba5db788 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5c5572735d1f - core::fmt::rt::Argument::fmt::h2ee2c138a50a7796 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5c5572735d1f - core::fmt::write::h1e0dbf07fe3990bd [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5c5572703113 - std::io::default_write_fmt::hb0810a37865e52a5 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5c5572703113 - std::io::Write::write_fmt::h12c8908aaac7ca22 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5c5572708e12 - std::sys::backtrace::BacktraceLock::print::h788d486777205086 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5c557270b07f - std::panicking::default_hook::{{closure}}::ha7bdfeb5949fc0fa [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x5c557270aed9 - std::panicking::default_hook::h6dad75ec721846f4 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:328:9 [INFO] [stdout] 11: 0x5c557270b655 - std::panicking::panic_with_hook::hba00e869ada17676 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:834:13 [INFO] [stdout] 12: 0x5c55726d288b - std::panicking::begin_panic::{{closure}}::h0ef36fca2861a2f7 [INFO] [stdout] 13: 0x5c55726d1626 - std::sys::backtrace::__rust_end_short_backtrace::h19622691d4c4c33c [INFO] [stdout] 14: 0x5c55726d282b - std::panicking::begin_panic::h9da07c71346cecdf [INFO] [stdout] 15: 0x5c55726d6fa5 - fastcgi::run_transport::h3b8fd2d57df83374 [INFO] [stdout] 16: 0x5c55726d73bd - fastcgi::run::hfd4f0ac0997b833b [INFO] [stdout] 17: 0x5c55726d78b6 - rust_out::main::hb2c1f26112d8e974 [INFO] [stdout] 18: 0x5c55726d3183 - core::ops::function::FnOnce::call_once::h01e49b384cd31373 [INFO] [stdout] 19: 0x5c55726d1656 - std::sys::backtrace::__rust_begin_short_backtrace::hc341f747de1a6e5f [INFO] [stdout] 20: 0x5c55726d1519 - std::rt::lang_start::{{closure}}::h5855c6a947873adf [INFO] [stdout] 21: 0x5c55727043a0 - core::ops::function::impls:: for &F>::call_once::h1dc0a50e6295ec78 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/core/src/ops/function.rs:290:21 [INFO] [stdout] 22: 0x5c55727043a0 - std::panicking::catch_unwind::do_call::h209f742e9999044e [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:590:40 [INFO] [stdout] 23: 0x5c55727043a0 - std::panicking::catch_unwind::h508c6e2aa6d72749 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:553:19 [INFO] [stdout] 24: 0x5c55727043a0 - std::panic::catch_unwind::hebcbb24aa9914693 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panic.rs:359:14 [INFO] [stdout] 25: 0x5c55727043a0 - std::rt::lang_start_internal::{{closure}}::h703cbe32967ef209 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/rt.rs:175:24 [INFO] [stdout] 26: 0x5c55727043a0 - std::panicking::catch_unwind::do_call::hf50f2a30bce4e10b [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:590:40 [INFO] [stdout] 27: 0x5c55727043a0 - std::panicking::catch_unwind::hac448d7e3b12daa3 [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panicking.rs:553:19 [INFO] [stdout] 28: 0x5c55727043a0 - std::panic::catch_unwind::ha9d74a13d77f299c [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x5c55727043a0 - std::rt::lang_start_internal::ha26d244788d1956d [INFO] [stdout] at /rustc/cdb45c87e2cd43495379f7e867e3cc15dcee9f93/library/std/src/rt.rs:171:5 [INFO] [stdout] 30: 0x5c55726d1501 - std::rt::lang_start::h75941d661fa88314 [INFO] [stdout] 31: 0x5c55726d9fd5 - main [INFO] [stdout] 32: 0x77304c27e1ca - [INFO] [stdout] 33: 0x77304c27e28b - __libc_start_main [INFO] [stdout] 34: 0x5c55726d06e5 - _start [INFO] [stdout] 35: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/lib.rs - (line 30) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "2100ad59f92020854d8f31b9018fe464d7f5e883e6b6c7f7198e7dda5c376c24", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2100ad59f92020854d8f31b9018fe464d7f5e883e6b6c7f7198e7dda5c376c24", kill_on_drop: false }` [INFO] [stdout] 2100ad59f92020854d8f31b9018fe464d7f5e883e6b6c7f7198e7dda5c376c24