[INFO] fetching crate fastcgi 1.0.0... [INFO] testing fastcgi-1.0.0 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate fastcgi 1.0.0 into /workspace/builds/worker-7-tc2/source [INFO] started tweaking crates.io crate fastcgi 1.0.0 [INFO] finished tweaking crates.io crate fastcgi 1.0.0 [INFO] tweaked toml for crates.io crate fastcgi 1.0.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate fastcgi 1.0.0 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "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" "+b83b707f97d809763b7861afa7638871f3339a33" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [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" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 3468f363fdde01d18c2d6ece1a9e6418f58210ddbd4a04520f688396103f8cb6 [INFO] running `Command { std: "docker" "start" "-a" "3468f363fdde01d18c2d6ece1a9e6418f58210ddbd4a04520f688396103f8cb6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "3468f363fdde01d18c2d6ece1a9e6418f58210ddbd4a04520f688396103f8cb6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3468f363fdde01d18c2d6ece1a9e6418f58210ddbd4a04520f688396103f8cb6", kill_on_drop: false }` [INFO] [stdout] 3468f363fdde01d18c2d6ece1a9e6418f58210ddbd4a04520f688396103f8cb6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5d51a996739a671e2690a8963432fb2b8217a27fe8478d0ad023f6b3d3f60768 [INFO] running `Command { std: "docker" "start" "-a" "5d51a996739a671e2690a8963432fb2b8217a27fe8478d0ad023f6b3d3f60768", kill_on_drop: false }` [INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024 [INFO] [stderr] Compiling fastcgi v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | try!((&mut r).take(1).read_to_end(&mut buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:95:21 [INFO] [stdout] | [INFO] [stdout] 95 | assert!(try!((&mut r).take(3).read_to_end(&mut buf)) == 3); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:111:19 [INFO] [stdout] | [INFO] [stdout] 111 | let key_len = try!(read_len(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | let value_len = try!(read_len(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | assert!(try!((&mut r).take(key_len as u64).read_to_string(&mut key)) == key_len as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | assert!(try!((&mut r).take(value_len as u64).read_to_string(&mut value)) == value_len as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:125:27 [INFO] [stdout] | [INFO] [stdout] 125 | params.extend(try!(read_pairs(r)).into_iter()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | try!(w.write_all(&[n as u8])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | try!(w.write_all(&buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | try!(write_len(w, key.len() as u32)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | try!(write_len(w, value.len() as u32)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | try!(write!(w, "{}{}", key, value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | try!(w.write_all(&[ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | try!(w.write_all(content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | assert!(try!(r.take(HEADER_LEN as u64).read_to_end(&mut header)) == HEADER_LEN); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | assert!(try!(r.take(content_length as u64).read_to_end(&mut content)) == content_length as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(try!(r.take(padding_length as u64).read_to_end(&mut Vec::with_capacity(padding_length as usize))) == padding_length as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | try!(write_record(w, 3, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | try!(write_record(w, 6, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | try!(write_record(w, 7, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | try!(write_pairs(&mut content, items)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | try!(write_record(w, 10, 0, &content.into_inner())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 218 | try!(write_record(w, 11, 0, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:226:50 [INFO] [stdout] | [INFO] [stdout] 226 | let (record_type, request_id, content) = try!(read_record(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:250:29 [INFO] [stdout] | [INFO] [stdout] 250 | let items = try!(read_pairs(&mut Cursor::new(content))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:287:24 [INFO] [stdout] | [INFO] [stdout] 287 | match (try!(Record::receive(&mut sock)), self.req.filter_data) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:289:25 [INFO] [stdout] | [INFO] [stdout] 289 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:292:25 [INFO] [stdout] | [INFO] [stdout] 292 | try!( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:298:25 [INFO] [stdout] | [INFO] [stdout] 298 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:341:13 [INFO] [stdout] | [INFO] [stdout] 341 | try!(chunk.read(buf)) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:340:29 [INFO] [stdout] | [INFO] [stdout] 340 | let mut chunk = try!(self.fill_buf()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:367:25 [INFO] [stdout] | [INFO] [stdout] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | writer!(Stdout); [INFO] [stdout] | --------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:367:25 [INFO] [stdout] | [INFO] [stdout] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 382 | writer!(Stderr); [INFO] [stdout] | --------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:419:19 [INFO] [stdout] | [INFO] [stdout] 419 | match try!(Record::receive(&mut sock)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:421:21 [INFO] [stdout] | [INFO] [stdout] 421 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | try!(Record::GetValuesResult(get_values(keys)).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:430:21 [INFO] [stdout] | [INFO] [stdout] 430 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:446:19 [INFO] [stdout] | [INFO] [stdout] 446 | match try!(Record::receive(&mut &*sock)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:448:21 [INFO] [stdout] | [INFO] [stdout] 448 | try!(Record::UnknownType(rec_type).send(&mut &*sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | try!( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:457:21 [INFO] [stdout] | [INFO] [stdout] 457 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:477:39 [INFO] [stdout] | [INFO] [stdout] 477 | params.extend(try!(read_pairs(&mut Cursor::new(&buf)))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:403:27 [INFO] [stdout] | [INFO] [stdout] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:132:24 [INFO] [stdout] | [INFO] [stdout] 132 | fn write_len(mut w: &mut W, n: u32) -> io::Result<()> { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | mem::transmute::((0x80000000 & n).to_be()) [INFO] [stdout] | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | mem::transmute::<_, [u8; 2]>(request_id.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | mem::transmute::<_, [u8; 2]>((content.len() as u16).to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:177:44 [INFO] [stdout] | [INFO] [stdout] 177 | let request_id = unsafe { u16::from_be(mem::transmute([header[2], header[3]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:178:48 [INFO] [stdout] | [INFO] [stdout] 178 | let content_length = unsafe { u16::from_be(mem::transmute([header[4], header[5]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | mem::transmute::<_, [u8; 4]>(app_status.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:230:34 [INFO] [stdout] | [INFO] [stdout] 230 | u16::from_be(mem::transmute([content[0], content[1]])) [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:510:19 [INFO] [stdout] | [INFO] [stdout] 510 | pub fn params(&self) -> Params { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 510 | pub fn params(&self) -> Params<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:515:18 [INFO] [stdout] | [INFO] [stdout] 515 | pub fn stdin(&mut self) -> Stdin { [INFO] [stdout] | ^^^^^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 515 | pub fn stdin(&mut self) -> Stdin<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:520:19 [INFO] [stdout] | [INFO] [stdout] 520 | pub fn stdout(&mut self) -> Stdout { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 520 | pub fn stdout(&mut self) -> Stdout<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:525:19 [INFO] [stdout] | [INFO] [stdout] 525 | pub fn stderr(&mut self) -> Stderr { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 525 | pub fn stderr(&mut self) -> Stderr<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:578:30 [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!(e.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!("{}", e.to_string()), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.60s [INFO] running `Command { std: "docker" "inspect" "5d51a996739a671e2690a8963432fb2b8217a27fe8478d0ad023f6b3d3f60768", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5d51a996739a671e2690a8963432fb2b8217a27fe8478d0ad023f6b3d3f60768", kill_on_drop: false }` [INFO] [stdout] 5d51a996739a671e2690a8963432fb2b8217a27fe8478d0ad023f6b3d3f60768 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 91d588a08b62265485e3daca4dadf522ba22e870f8ebacead69cc4333ff25301 [INFO] running `Command { std: "docker" "start" "-a" "91d588a08b62265485e3daca4dadf522ba22e870f8ebacead69cc4333ff25301", 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)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:132:24 [INFO] [stdout] | [INFO] [stdout] 132 | fn write_len(mut w: &mut W, n: u32) -> io::Result<()> { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | mem::transmute::((0x80000000 & n).to_be()) [INFO] [stdout] | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | mem::transmute::<_, [u8; 2]>(request_id.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | mem::transmute::<_, [u8; 2]>((content.len() as u16).to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:177:44 [INFO] [stdout] | [INFO] [stdout] 177 | let request_id = unsafe { u16::from_be(mem::transmute([header[2], header[3]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:178:48 [INFO] [stdout] | [INFO] [stdout] 178 | let content_length = unsafe { u16::from_be(mem::transmute([header[4], header[5]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | mem::transmute::<_, [u8; 4]>(app_status.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:230:34 [INFO] [stdout] | [INFO] [stdout] 230 | u16::from_be(mem::transmute([content[0], content[1]])) [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:510:19 [INFO] [stdout] | [INFO] [stdout] 510 | pub fn params(&self) -> Params { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 510 | pub fn params(&self) -> Params<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:515:18 [INFO] [stdout] | [INFO] [stdout] 515 | pub fn stdin(&mut self) -> Stdin { [INFO] [stdout] | ^^^^^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 515 | pub fn stdin(&mut self) -> Stdin<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling fastcgi v1.0.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:520:19 [INFO] [stdout] | [INFO] [stdout] 520 | pub fn stdout(&mut self) -> Stdout { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 520 | pub fn stdout(&mut self) -> Stdout<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:525:19 [INFO] [stdout] | [INFO] [stdout] 525 | pub fn stderr(&mut self) -> Stderr { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 525 | pub fn stderr(&mut self) -> Stderr<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:578:30 [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!(e.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!("{}", e.to_string()), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | try!((&mut r).take(1).read_to_end(&mut buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:95:21 [INFO] [stdout] | [INFO] [stdout] 95 | assert!(try!((&mut r).take(3).read_to_end(&mut buf)) == 3); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:111:19 [INFO] [stdout] | [INFO] [stdout] 111 | let key_len = try!(read_len(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:112:21 [INFO] [stdout] | [INFO] [stdout] 112 | let value_len = try!(read_len(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:114:13 [INFO] [stdout] | [INFO] [stdout] 114 | assert!(try!((&mut r).take(key_len as u64).read_to_string(&mut key)) == key_len as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | assert!(try!((&mut r).take(value_len as u64).read_to_string(&mut value)) == value_len as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:125:27 [INFO] [stdout] | [INFO] [stdout] 125 | params.extend(try!(read_pairs(r)).into_iter()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | try!(w.write_all(&[n as u8])); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | try!(w.write_all(&buf)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | try!(write_len(w, key.len() as u32)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | try!(write_len(w, value.len() as u32)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:149:9 [INFO] [stdout] | [INFO] [stdout] 149 | try!(write!(w, "{}{}", key, value)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | try!(w.write_all(&[ [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 167 | try!(w.write_all(content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | assert!(try!(r.take(HEADER_LEN as u64).read_to_end(&mut header)) == HEADER_LEN); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:181:13 [INFO] [stdout] | [INFO] [stdout] 181 | assert!(try!(r.take(content_length as u64).read_to_end(&mut content)) == content_length as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:182:13 [INFO] [stdout] | [INFO] [stdout] 182 | assert!(try!(r.take(padding_length as u64).read_to_end(&mut Vec::with_capacity(padding_length as usize))) == padding_length as usize); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:203:17 [INFO] [stdout] | [INFO] [stdout] 203 | try!(write_record(w, 3, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:206:17 [INFO] [stdout] | [INFO] [stdout] 206 | try!(write_record(w, 6, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | try!(write_record(w, 7, request_id, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:213:17 [INFO] [stdout] | [INFO] [stdout] 213 | try!(write_pairs(&mut content, items)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:214:17 [INFO] [stdout] | [INFO] [stdout] 214 | try!(write_record(w, 10, 0, &content.into_inner())); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:218:17 [INFO] [stdout] | [INFO] [stdout] 218 | try!(write_record(w, 11, 0, &content)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:226:50 [INFO] [stdout] | [INFO] [stdout] 226 | let (record_type, request_id, content) = try!(read_record(r)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:250:29 [INFO] [stdout] | [INFO] [stdout] 250 | let items = try!(read_pairs(&mut Cursor::new(content))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:287:24 [INFO] [stdout] | [INFO] [stdout] 287 | match (try!(Record::receive(&mut sock)), self.req.filter_data) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:289:25 [INFO] [stdout] | [INFO] [stdout] 289 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:292:25 [INFO] [stdout] | [INFO] [stdout] 292 | try!( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:298:25 [INFO] [stdout] | [INFO] [stdout] 298 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:341:13 [INFO] [stdout] | [INFO] [stdout] 341 | try!(chunk.read(buf)) [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:340:29 [INFO] [stdout] | [INFO] [stdout] 340 | let mut chunk = try!(self.fill_buf()); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:367:25 [INFO] [stdout] | [INFO] [stdout] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 380 | writer!(Stdout); [INFO] [stdout] | --------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:367:25 [INFO] [stdout] | [INFO] [stdout] 367 | try!(rec.send(&mut &*self.req.sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 382 | writer!(Stderr); [INFO] [stdout] | --------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `writer` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:419:19 [INFO] [stdout] | [INFO] [stdout] 419 | match try!(Record::receive(&mut sock)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:421:21 [INFO] [stdout] | [INFO] [stdout] 421 | try!(Record::UnknownType(rec_type).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:424:21 [INFO] [stdout] | [INFO] [stdout] 424 | try!(Record::GetValuesResult(get_values(keys)).send(&mut sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:430:21 [INFO] [stdout] | [INFO] [stdout] 430 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:446:19 [INFO] [stdout] | [INFO] [stdout] 446 | match try!(Record::receive(&mut &*sock)) { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:448:21 [INFO] [stdout] | [INFO] [stdout] 448 | try!(Record::UnknownType(rec_type).send(&mut &*sock)); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:451:21 [INFO] [stdout] | [INFO] [stdout] 451 | try!( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:457:21 [INFO] [stdout] | [INFO] [stdout] 457 | try!(Record::EndRequest { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead [INFO] [stdout] --> src/lib.rs:477:39 [INFO] [stdout] | [INFO] [stdout] 477 | params.extend(try!(read_pairs(&mut Cursor::new(&buf)))); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:403:27 [INFO] [stdout] | [INFO] [stdout] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stdout] | [INFO] [stdout] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:132:24 [INFO] [stdout] | [INFO] [stdout] 132 | fn write_len(mut w: &mut W, n: u32) -> io::Result<()> { [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:138:13 [INFO] [stdout] | [INFO] [stdout] 138 | mem::transmute::((0x80000000 & n).to_be()) [INFO] [stdout] | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:158:9 [INFO] [stdout] | [INFO] [stdout] 158 | mem::transmute::<_, [u8; 2]>(request_id.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:161:9 [INFO] [stdout] | [INFO] [stdout] 161 | mem::transmute::<_, [u8; 2]>((content.len() as u16).to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:177:44 [INFO] [stdout] | [INFO] [stdout] 177 | let request_id = unsafe { u16::from_be(mem::transmute([header[2], header[3]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:178:48 [INFO] [stdout] | [INFO] [stdout] 178 | let content_length = unsafe { u16::from_be(mem::transmute([header[4], header[5]])) }; [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:191:21 [INFO] [stdout] | [INFO] [stdout] 191 | mem::transmute::<_, [u8; 4]>(app_status.to_be()) [INFO] [stdout] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `i32::to_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary transmute [INFO] [stdout] --> src/lib.rs:230:34 [INFO] [stdout] | [INFO] [stdout] 230 | u16::from_be(mem::transmute([content[0], content[1]])) [INFO] [stdout] | --------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: replace this with: `u16::from_ne_bytes` [INFO] [stdout] | [INFO] [stdout] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:510:19 [INFO] [stdout] | [INFO] [stdout] 510 | pub fn params(&self) -> Params { [INFO] [stdout] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 510 | pub fn params(&self) -> Params<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:515:18 [INFO] [stdout] | [INFO] [stdout] 515 | pub fn stdin(&mut self) -> Stdin { [INFO] [stdout] | ^^^^^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 515 | pub fn stdin(&mut self) -> Stdin<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:520:19 [INFO] [stdout] | [INFO] [stdout] 520 | pub fn stdout(&mut self) -> Stdout { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 520 | pub fn stdout(&mut self) -> Stdout<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/lib.rs:525:19 [INFO] [stdout] | [INFO] [stdout] 525 | pub fn stderr(&mut self) -> Stderr { [INFO] [stdout] | ^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 525 | pub fn stderr(&mut self) -> Stderr<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/lib.rs:578:30 [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!(e.to_string()), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 578 | Err(e) => panic!("{}", e.to_string()), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.67s [INFO] running `Command { std: "docker" "inspect" "91d588a08b62265485e3daca4dadf522ba22e870f8ebacead69cc4333ff25301", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "91d588a08b62265485e3daca4dadf522ba22e870f8ebacead69cc4333ff25301", kill_on_drop: false }` [INFO] [stdout] 91d588a08b62265485e3daca4dadf522ba22e870f8ebacead69cc4333ff25301 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] d65d342d9f6c7bf3bd135b546d459ffec489c86abb9f0e4c5ad00905b0ab02e0 [INFO] running `Command { std: "docker" "start" "-a" "d65d342d9f6c7bf3bd135b546d459ffec489c86abb9f0e4c5ad00905b0ab02e0", 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)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn` [INFO] [stderr] | [INFO] [stderr] 403 | pub type Params<'a> = Box + 'a>; [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/lib.rs:132:24 [INFO] [stderr] | [INFO] [stderr] 132 | fn write_len(mut w: &mut W, n: u32) -> io::Result<()> { [INFO] [stderr] | ----^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:138:13 [INFO] [stderr] | [INFO] [stderr] 138 | mem::transmute::((0x80000000 & n).to_be()) [INFO] [stderr] | ------------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u32::to_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stderr] = note: `#[warn(unnecessary_transmutes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:158:9 [INFO] [stderr] | [INFO] [stderr] 158 | mem::transmute::<_, [u8; 2]>(request_id.to_be()) [INFO] [stderr] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u16::to_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | mem::transmute::<_, [u8; 2]>((content.len() as u16).to_be()) [INFO] [stderr] | ----------------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u16::to_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:177:44 [INFO] [stderr] | [INFO] [stderr] 177 | let request_id = unsafe { u16::from_be(mem::transmute([header[2], header[3]])) }; [INFO] [stderr] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u16::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:178:48 [INFO] [stderr] | [INFO] [stderr] 178 | let content_length = unsafe { u16::from_be(mem::transmute([header[4], header[5]])) }; [INFO] [stderr] | --------------^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u16::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:191:21 [INFO] [stderr] | [INFO] [stderr] 191 | mem::transmute::<_, [u8; 4]>(app_status.to_be()) [INFO] [stderr] | ----------------------------^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `i32::to_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `to_le_bytes` and `to_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: unnecessary transmute [INFO] [stderr] --> src/lib.rs:230:34 [INFO] [stderr] | [INFO] [stderr] 230 | u16::from_be(mem::transmute([content[0], content[1]])) [INFO] [stderr] | --------------^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: replace this with: `u16::from_ne_bytes` [INFO] [stderr] | [INFO] [stderr] = help: there's also `from_le_bytes` and `from_be_bytes` if you expect a particular byte order [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:510:19 [INFO] [stderr] | [INFO] [stderr] 510 | pub fn params(&self) -> Params { [INFO] [stderr] | ^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 510 | pub fn params(&self) -> Params<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:515:18 [INFO] [stderr] | [INFO] [stderr] 515 | pub fn stdin(&mut self) -> Stdin { [INFO] [stderr] | ^^^^^^^^^ ^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 515 | pub fn stdin(&mut self) -> Stdin<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:520:19 [INFO] [stderr] | [INFO] [stderr] 520 | pub fn stdout(&mut self) -> Stdout { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 520 | pub fn stdout(&mut self) -> Stdout<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/lib.rs:525:19 [INFO] [stderr] | [INFO] [stderr] 525 | pub fn stderr(&mut self) -> Stderr { [INFO] [stderr] | ^^^^^^^^^ ^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 525 | pub fn stderr(&mut self) -> Stderr<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: panic message is not a string literal [INFO] [stderr] --> src/lib.rs:578:30 [INFO] [stderr] | [INFO] [stderr] 578 | Err(e) => panic!(e.to_string()), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stderr] = note: for more information, see [INFO] [stderr] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stderr] help: add a "{}" format string to `Display` the message [INFO] [stderr] | [INFO] [stderr] 578 | Err(e) => panic!("{}", e.to_string()), [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: `fastcgi` (lib) generated 56 warnings (run `cargo fix --lib -p fastcgi` to apply 14 suggestions) [INFO] [stderr] warning: `fastcgi` (lib test) generated 56 warnings (56 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fastcgi-488a7ed74da5822e) [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' (39) panicked at /opt/rustwide/workdir/src/lib.rs:578:23: [INFO] [stdout] Socket operation on non-socket (os error 88) [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x62b99c91a8f2 - std::backtrace_rs::backtrace::libunwind::trace::h589a96ef7638b383 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9 [INFO] [stdout] 1: 0x62b99c91a8f2 - std::backtrace_rs::backtrace::trace_unsynchronized::h23a30a7548c40de4 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14 [INFO] [stdout] 2: 0x62b99c91a8f2 - std::sys::backtrace::_print_fmt::h87dabd6535c8c07a [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:66:9 [INFO] [stdout] 3: 0x62b99c91a8f2 - ::fmt::hffd20ad4e5eca8ab [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:39:26 [INFO] [stdout] 4: 0x62b99c929d1f - core::fmt::rt::Argument::fmt::h75c83e3fd5ce2419 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/fmt/rt.rs:173:76 [INFO] [stdout] 5: 0x62b99c929d1f - core::fmt::write::h6d9d3a7cfd7b84f5 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/fmt/mod.rs:1468:25 [INFO] [stdout] 6: 0x62b99c8f6fe3 - std::io::default_write_fmt::ha7130bf70117e1da [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/io/mod.rs:639:11 [INFO] [stdout] 7: 0x62b99c8f6fe3 - std::io::Write::write_fmt::h22459ad26fe60c51 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/io/mod.rs:1954:13 [INFO] [stdout] 8: 0x62b99c8fce12 - std::sys::backtrace::BacktraceLock::print::hb28797143397220e [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/sys/backtrace.rs:42:9 [INFO] [stdout] 9: 0x62b99c8ff07f - std::panicking::default_hook::{{closure}}::h7555113b62983743 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:301:27 [INFO] [stdout] 10: 0x62b99c8feed9 - std::panicking::default_hook::h2714b564abe8d914 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:328:9 [INFO] [stdout] 11: 0x62b99c8ff655 - std::panicking::panic_with_hook::h190dc82263685ec5 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:834:13 [INFO] [stdout] 12: 0x62b99c8c688b - std::panicking::begin_panic::{{closure}}::h267ebe4c75b56b08 [INFO] [stdout] 13: 0x62b99c8c5626 - std::sys::backtrace::__rust_end_short_backtrace::h8a8a64023360a8fe [INFO] [stdout] 14: 0x62b99c8c682b - std::panicking::begin_panic::h1b941bee3f79d287 [INFO] [stdout] 15: 0x62b99c8cafa5 - fastcgi::run_transport::h66de6fd2e46e21a7 [INFO] [stdout] 16: 0x62b99c8cb3bd - fastcgi::run::h95038a6f65131a37 [INFO] [stdout] 17: 0x62b99c8cb8b6 - rust_out::main::h542e0f1f2a7f6b11 [INFO] [stdout] 18: 0x62b99c8c71c3 - core::ops::function::FnOnce::call_once::h21e4d13f24e06a24 [INFO] [stdout] 19: 0x62b99c8c5636 - std::sys::backtrace::__rust_begin_short_backtrace::h603ef4a30a4f78fd [INFO] [stdout] 20: 0x62b99c8c5519 - std::rt::lang_start::{{closure}}::h433d00c5fb7f893d [INFO] [stdout] 21: 0x62b99c8f83a0 - core::ops::function::impls:: for &F>::call_once::hcc75fa61d21ecbe5 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/core/src/ops/function.rs:290:21 [INFO] [stdout] 22: 0x62b99c8f83a0 - std::panicking::catch_unwind::do_call::h38c051a071ca3bc0 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:590:40 [INFO] [stdout] 23: 0x62b99c8f83a0 - std::panicking::catch_unwind::hede2a2f6f4519f78 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:553:19 [INFO] [stdout] 24: 0x62b99c8f83a0 - std::panic::catch_unwind::h94765a19f52c0a43 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panic.rs:359:14 [INFO] [stdout] 25: 0x62b99c8f83a0 - std::rt::lang_start_internal::{{closure}}::hb89c21d557706591 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/rt.rs:175:24 [INFO] [stdout] 26: 0x62b99c8f83a0 - std::panicking::catch_unwind::do_call::h50685f05733aeeef [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:590:40 [INFO] [stdout] 27: 0x62b99c8f83a0 - std::panicking::catch_unwind::hf9ba9716b02e6738 [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panicking.rs:553:19 [INFO] [stdout] 28: 0x62b99c8f83a0 - std::panic::catch_unwind::h29770e281302b24d [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/panic.rs:359:14 [INFO] [stdout] 29: 0x62b99c8f83a0 - std::rt::lang_start_internal::hd5573b1f5f705a2a [INFO] [stdout] at /rustc/b83b707f97d809763b7861afa7638871f3339a33/library/std/src/rt.rs:171:5 [INFO] [stdout] 30: 0x62b99c8c5501 - std::rt::lang_start::habd89dad5a59b012 [INFO] [stdout] 31: 0x62b99c8cdfd5 - main [INFO] [stdout] 32: 0x71fd959b41ca - [INFO] [stdout] 33: 0x71fd959b428b - __libc_start_main [INFO] [stdout] 34: 0x62b99c8c46e5 - _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.58s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "d65d342d9f6c7bf3bd135b546d459ffec489c86abb9f0e4c5ad00905b0ab02e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d65d342d9f6c7bf3bd135b546d459ffec489c86abb9f0e4c5ad00905b0ab02e0", kill_on_drop: false }` [INFO] [stdout] d65d342d9f6c7bf3bd135b546d459ffec489c86abb9f0e4c5ad00905b0ab02e0