[INFO] fetching crate fastcgi 1.0.0... [INFO] testing fastcgi-1.0.0 against 1.90.0 for beta-1.91-3 [INFO] extracting crate fastcgi 1.0.0 into /workspace/builds/worker-5-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-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate fastcgi 1.0.0 on toolchain 1.90.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "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" "+1.90.0" "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" "+1.90.0" "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-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2d29e92870511e6c938983184014d4edf160a1c94d767be4e198bb5dc99c2a69 [INFO] running `Command { std: "docker" "start" "-a" "2d29e92870511e6c938983184014d4edf160a1c94d767be4e198bb5dc99c2a69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2d29e92870511e6c938983184014d4edf160a1c94d767be4e198bb5dc99c2a69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d29e92870511e6c938983184014d4edf160a1c94d767be4e198bb5dc99c2a69", kill_on_drop: false }` [INFO] [stdout] 2d29e92870511e6c938983184014d4edf160a1c94d767be4e198bb5dc99c2a69 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 36081c9e37296145de47e4f9a6675376a716f00218e7662e1aa2a65fa7bffcdb [INFO] running `Command { std: "docker" "start" "-a" "36081c9e37296145de47e4f9a6675376a716f00218e7662e1aa2a65fa7bffcdb", 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)]` 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)]` 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)]` 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.48s [INFO] running `Command { std: "docker" "inspect" "36081c9e37296145de47e4f9a6675376a716f00218e7662e1aa2a65fa7bffcdb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "36081c9e37296145de47e4f9a6675376a716f00218e7662e1aa2a65fa7bffcdb", kill_on_drop: false }` [INFO] [stdout] 36081c9e37296145de47e4f9a6675376a716f00218e7662e1aa2a65fa7bffcdb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c5ec5b3006d8bc234b7b8d31ba0d538ba0a1b2321f06fd6ff435926ef8888daf [INFO] running `Command { std: "docker" "start" "-a" "c5ec5b3006d8bc234b7b8d31ba0d538ba0a1b2321f06fd6ff435926ef8888daf", 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] [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)]` 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)]` 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] [stderr] Compiling fastcgi v1.0.0 (/opt/rustwide/workdir) [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)]` 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)]` 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)]` 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)]` 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.69s [INFO] running `Command { std: "docker" "inspect" "c5ec5b3006d8bc234b7b8d31ba0d538ba0a1b2321f06fd6ff435926ef8888daf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c5ec5b3006d8bc234b7b8d31ba0d538ba0a1b2321f06fd6ff435926ef8888daf", kill_on_drop: false }` [INFO] [stdout] c5ec5b3006d8bc234b7b8d31ba0d538ba0a1b2321f06fd6ff435926ef8888daf [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 67df9359bdc10972360bf4f99df23cbef55486db7cb37adc9de66bdcd5e41d2e [INFO] running `Command { std: "docker" "start" "-a" "67df9359bdc10972360bf4f99df23cbef55486db7cb37adc9de66bdcd5e41d2e", 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] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stderr] --> src/lib.rs:341:13 [INFO] [stderr] | [INFO] [stderr] 341 | try!(chunk.read(buf)) [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)]` 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)]` 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)]` 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 10 suggestions) [INFO] [stderr] warning: `fastcgi` (lib test) generated 56 warnings (56 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fastcgi-12a7bb7df7405cb3) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests fastcgi [INFO] [stdout] [INFO] [stdout] running 1 test [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' 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: 0x5a3f557c8d72 - std::backtrace_rs::backtrace::libunwind::trace::h2d45396358f41939 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x5a3f557c8d72 - std::backtrace_rs::backtrace::trace_unsynchronized::hffcefc0b67f1d6e2 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x5a3f557c8d72 - std::sys::backtrace::_print_fmt::hd72f71d23b436b92 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x5a3f557c8d72 - ::fmt::hdcfcb6d4c8489523 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x5a3f557e6413 - core::fmt::rt::Argument::fmt::h2c56b3114963061a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x5a3f557e6413 - core::fmt::write::h8a494366950f23bb [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x5a3f557c6943 - std::io::default_write_fmt::ha27fbccbc65eb6fa [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x5a3f557c6943 - std::io::Write::write_fmt::h6556609fca33d0b1 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x5a3f557c8bc2 - std::sys::backtrace::BacktraceLock::print::hb2a626a81e06b2dc [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x5a3f557c9cb3 - std::panicking::default_hook::{{closure}}::h4f78485264f12d10 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:300:27 [INFO] [stdout] 10: 0x5a3f557c9a95 - std::panicking::default_hook::h2c66fc99e962531d [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:327:9 [INFO] [stdout] 11: 0x5a3f557ca6c5 - std::panicking::rust_panic_with_hook::h33ac55f64bbd807d [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:833:13 [INFO] [stdout] 12: 0x5a3f557827cb - std::panicking::begin_panic::{{closure}}::hbc84846f5aaa7fe8 [INFO] [stdout] 13: 0x5a3f55781566 - std::sys::backtrace::__rust_end_short_backtrace::he4ecd2572010e222 [INFO] [stdout] 14: 0x5a3f5578276b - std::panicking::begin_panic::h8789e0aa607738ef [INFO] [stdout] 15: 0x5a3f55786ec5 - fastcgi::run_transport::hc608815097e605a9 [INFO] [stdout] 16: 0x5a3f557872dd - fastcgi::run::h606d767337d5b2c7 [INFO] [stdout] 17: 0x5a3f55789df6 - rust_out::main::h2d10ba762d3f8adf [INFO] [stdout] 18: 0x5a3f55783243 - core::ops::function::FnOnce::call_once::h89333dd4ac8e03fc [INFO] [stdout] 19: 0x5a3f55781596 - std::sys::backtrace::__rust_begin_short_backtrace::h8a10de1e92516da1 [INFO] [stdout] 20: 0x5a3f55781459 - std::rt::lang_start::{{closure}}::h0af3a8cb06b34c3e [INFO] [stdout] 21: 0x5a3f557c3950 - core::ops::function::impls:: for &F>::call_once::h638295a043b40957 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/core/src/ops/function.rs:290:21 [INFO] [stdout] 22: 0x5a3f557c3950 - std::panicking::catch_unwind::do_call::hbd68098bdea1ca50 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stdout] 23: 0x5a3f557c3950 - std::panicking::catch_unwind::h50591d85bf847c7c [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stdout] 24: 0x5a3f557c3950 - std::panic::catch_unwind::h2487b4c4f2ae22c6 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stdout] 25: 0x5a3f557c3950 - std::rt::lang_start_internal::{{closure}}::h61f0945cc6c9a811 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/rt.rs:175:24 [INFO] [stdout] 26: 0x5a3f557c3950 - std::panicking::catch_unwind::do_call::h34b9c3722acd6bd1 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:589:40 [INFO] [stdout] 27: 0x5a3f557c3950 - std::panicking::catch_unwind::hf9a822ea043fb0d6 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panicking.rs:552:19 [INFO] [stdout] 28: 0x5a3f557c3950 - std::panic::catch_unwind::h5b3cac802237ed89 [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x5a3f557c3950 - std::rt::lang_start_internal::h34f9328d113fd60a [INFO] [stdout] at /rustc/1159e78c4747b02ef996e55082b704c09b970588/library/std/src/rt.rs:171:5 [INFO] [stdout] 30: 0x5a3f55781441 - std::rt::lang_start::h8f736fe0a226e45f [INFO] [stdout] 31: 0x5a3f55789f05 - main [INFO] [stdout] 32: 0x7f869b1761ca - [INFO] [stdout] 33: 0x7f869b17628b - __libc_start_main [INFO] [stdout] 34: 0x5a3f55780625 - _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.40s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "67df9359bdc10972360bf4f99df23cbef55486db7cb37adc9de66bdcd5e41d2e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "67df9359bdc10972360bf4f99df23cbef55486db7cb37adc9de66bdcd5e41d2e", kill_on_drop: false }` [INFO] [stdout] 67df9359bdc10972360bf4f99df23cbef55486db7cb37adc9de66bdcd5e41d2e