Build #2149939 2025-05-24 13:03:27
# rustc version
rustc 1.89.0-nightly (3e674b06b 2025-05-23)# docs.rs version
docsrs 0.6.0 (107722ec 2025-05-24)# build log
[INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/fastcgi-1.0.0/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/fastcgi-1.0.0/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "6442450944" "--cpus" "6" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20250523-1.89.0-nightly-3e674b06b\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu" "--config" "build.rustdocflags=[\"-Zmetrics-dir=/opt/rustwide/target/metrics\"]", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 2eee57f8af1e15f87d050efd65abc6c6536591d6512a1af6087100f642ffdaa1
[INFO] running `Command { std: "docker" "start" "-a" "2eee57f8af1e15f87d050efd65abc6c6536591d6512a1af6087100f642ffdaa1", 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<Iterator<Item = (String, String)> + '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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr] |
[INFO] [stderr] 403 | pub type Params<'a> = Box<dyn Iterator<Item = (String, String)> + 'a>;
[INFO] [stderr] | +++
[INFO] [stderr]
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr] --> src/lib.rs:138:13
[INFO] [stderr] |
[INFO] [stderr] 138 | mem::transmute::<u32, [u8; 4]>((0x80000000 & n).to_be())
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace this with: `u32::to_ne_bytes((0x80000000 & n).to_be())`
[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: variable does not need to be mutable
[INFO] [stderr] --> src/lib.rs:132:24
[INFO] [stderr] |
[INFO] [stderr] 132 | fn write_len<W: Write>(mut w: &mut W, n: u32) -> io::Result<()> {
[INFO] [stderr] | ----^
[INFO] [stderr] | |
[INFO] [stderr] | help: remove this `mut`
[INFO] [stderr] |
[INFO] [stderr] = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr]
[INFO] [stderr] warning: unnecessary transmute
[INFO] [stderr] --> src/lib.rs:158:9
[INFO] [stderr] |
[INFO] [stderr] 158 | mem::transmute::<_, [u8; 2]>(request_id.to_be())
[INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace this with: `u16::to_ne_bytes(request_id.to_be())`
[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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace this with: `u16::to_ne_bytes((content.len() as u16).to_be())`
[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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace this with: `u16::from_ne_bytes([header[2], header[3]])`
[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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace this with: `u16::from_ne_bytes([header[4], header[5]])`
[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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace this with: `i32::to_ne_bytes(app_status.to_be())`
[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] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace this with: `u16::from_ne_bytes([content[0], content[1]])`
[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: 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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr] = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr] |
[INFO] [stderr] 578 | Err(e) => panic!("{}", e.to_string()),
[INFO] [stderr] | +++++
[INFO] [stderr]
[INFO] [stderr] warning: `fastcgi` (lib) generated 52 warnings (run `cargo fix --lib -p fastcgi` to apply 10 suggestions)
[INFO] [stderr] Scraping fastcgi v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr] Documenting fastcgi v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.73s
[INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/fastcgi/index.html
[INFO] running `Command { std: "docker" "inspect" "2eee57f8af1e15f87d050efd65abc6c6536591d6512a1af6087100f642ffdaa1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2eee57f8af1e15f87d050efd65abc6c6536591d6512a1af6087100f642ffdaa1", kill_on_drop: false }`
[INFO] [stdout] 2eee57f8af1e15f87d050efd65abc6c6536591d6512a1af6087100f642ffdaa1