[INFO] cloning repository https://github.com/Turboshell/turboshell
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Turboshell/turboshell" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTurboshell%2Fturboshell", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTurboshell%2Fturboshell'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1fcecb90a373e4932fdc348e43280e75cd432b77
[INFO] testing Turboshell/turboshell against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTurboshell%2Fturboshell" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Turboshell/turboshell on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Turboshell/turboshell
[INFO] finished tweaking git repo https://github.com/Turboshell/turboshell
[INFO] tweaked toml for git repo https://github.com/Turboshell/turboshell written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Turboshell/turboshell already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded cast v0.1.0
[INFO] [stderr]   Downloaded gcc v0.3.40
[INFO] [stderr]   Downloaded libsodium-sys v0.0.12
[INFO] [stderr]   Downloaded sodiumoxide v0.0.12
[INFO] [stderr]   Downloaded xattr v0.1.10
[INFO] [stderr]   Downloaded tar v0.4.9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a94590032d45b1e20b8e367988543b64a4f31836492433a39b41cb7fbc875217
[INFO] running `Command { std: "docker" "start" "-a" "a94590032d45b1e20b8e367988543b64a4f31836492433a39b41cb7fbc875217", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a94590032d45b1e20b8e367988543b64a4f31836492433a39b41cb7fbc875217", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a94590032d45b1e20b8e367988543b64a4f31836492433a39b41cb7fbc875217", kill_on_drop: false }`
[INFO] [stdout] a94590032d45b1e20b8e367988543b64a4f31836492433a39b41cb7fbc875217
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dfd6f6e29283472d85121212815b3aec5d95d520a2947d696f5479de1129421b
[INFO] running `Command { std: "docker" "start" "-a" "dfd6f6e29283472d85121212815b3aec5d95d520a2947d696f5479de1129421b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.18
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling num-traits v0.1.36
[INFO] [stderr]    Compiling pkg-config v0.3.8
[INFO] [stderr]    Compiling gcc v0.3.40
[INFO] [stderr]    Compiling rustc-serialize v0.3.22
[INFO] [stderr]    Compiling lazy_static v0.2.2
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling serde v0.7.15
[INFO] [stderr]    Compiling strsim v0.5.2
[INFO] [stderr]    Compiling byteorder v0.5.3
[INFO] [stderr]    Compiling itertools v0.4.19
[INFO] [stderr]    Compiling cast v0.1.0
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling crc v1.3.0
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling filetime v0.1.10
[INFO] [stderr]    Compiling rand v0.3.15
[INFO] [stderr]    Compiling num-integer v0.1.32
[INFO] [stderr]    Compiling xattr v0.1.10
[INFO] [stderr]    Compiling libsodium-sys v0.0.12
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling tar v0.4.9
[INFO] [stderr]    Compiling num-iter v0.1.32
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling time v0.1.35
[INFO] [stderr]    Compiling walkdir v0.1.8
[INFO] [stderr]    Compiling miniz-sys v0.1.7
[INFO] [stderr]    Compiling num v0.1.36
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling chrono v0.2.25
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling tempdir v0.3.5
[INFO] [stderr]    Compiling flate2 v0.2.14
[INFO] [stderr]    Compiling sodiumoxide v0.0.12
[INFO] [stderr]    Compiling toml v0.1.30
[INFO] [stderr]    Compiling turboshell v0.0.0-snapshot (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling docopt v0.6.86
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         try!(header.set_path(entry_name + "/"));
[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/commands/compile.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         try!(builder.append(&header, io::empty()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout] 51 |         header.set_mode(try!(entry_path.as_ref().metadata()).mode());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         try!(header.set_path(entry_name));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(builder.append(&header, try!(File::open(entry_path.as_ref()))));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let metadata = try!(entry_path.as_ref().metadata());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:63:38
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(builder.append(&header, try!(File::open(entry_path.as_ref()))));
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         try!(header.set_path("archive.toml"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         try!(builder.append(&header, io::Cursor::new(archive_toml_contents.as_bytes())));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         try!(write_to_archive(&mut builder, &basedir_with_slash, PathBuf::from(&self.basedir).join("roles")));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/commands/compile.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         try!(builder.into_inner());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |             try!(write_to_archive(&mut builder, &basedir_with_slash, &role.path));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/commands/compile.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |                         try!(write_to_archive(&mut builder, &basedir_with_slash, entry_path));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/commands/compile.rs:103:37
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         let entry = try!(entry);
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/run.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |                     try!(package.run(out));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/run.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 53 |             writeln!(out, "{}", try!(line)).unwrap();
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/run.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let status = try!(child.wait());
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/resolve.rs:124:32
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         v.push(try!(Package::from_file(&dir, dep_name)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/resolve.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |                         try!(stack.outdent());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/runlist.rs:75:22
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let config = try!(read_toml(&config_path));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:177:22
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let config = try!(read_toml(&role_path));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:187:40
[INFO] [stdout]     |
[INFO] [stdout] 187 | ...                   v.push(try!(Package::from_file(basedir, val)));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |                 try!(e.emit_map_elt_key(i, |e| e.emit_str(&package.name)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:240:17
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 try!(e.emit_map_elt_val(i, |e| e.emit_str(&package.version)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:253:20
[INFO] [stdout]     |
[INFO] [stdout] 253 |             v.push(try!(Role::from_file(basedir, role)));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:256:27
[INFO] [stdout]     |
[INFO] [stdout] 256 |                     repo: try!(PackageRepository::from_basedir(basedir)),
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:262:23
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let archive = try!(read_toml(&path));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |         try!(e.emit_map(1, |e| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         try!(e.emit_map(1, |e| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:293:13
[INFO] [stdout]     |
[INFO] [stdout] 293 |             try!(e.emit_map_elt_key(0, |e| e.emit_str("archive")));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:296:21
[INFO] [stdout]     |
[INFO] [stdout] 296 |                     try!(e.emit_map_elt_key(0, |e| e.emit_str("roles")));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |                     try!(e.emit_map_elt_val(0, |e| {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:301:33
[INFO] [stdout]     |
[INFO] [stdout] 301 | ...                   try!(e.emit_seq_elt(i, |e| e.emit_str(&role.name)));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             try!(e.emit_map_elt_key(0, |e| e.emit_str("role")));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:319:25
[INFO] [stdout]     |
[INFO] [stdout] 319 |                         try!(e.emit_map_elt_key(i, |e| e.emit_str(&role.name)));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:320:25
[INFO] [stdout]     |
[INFO] [stdout] 320 |                         try!(e.emit_map_elt_val(0, |e| role.encode(e)));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/seedfile.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         try!(v.write_u32::<BigEndian>(crc));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/unpack.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     try!(input.read_exact(&mut identifier_bytes));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/unpack.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     try!(input.read_exact(&mut signature_bytes_base64));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/unpack.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     try!(input.read_to_end(&mut tarball_bytes));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/keytool.rs:22:39
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let (mut input, source): (Box<BufRead>, PathBuf) = if should_read_from_file {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let (mut input, source): (Box<dyn BufRead>, PathBuf) = if should_read_from_file {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/keytool.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut output: Box<Write> = if output_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/commands/compile.rs:176:25
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut output: Box<Write> = if output_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/inspect.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut input: Box<Read> = if archive_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut input: Box<dyn Read> = if archive_string != "" {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/inspect.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut output: Box<Write> = if output_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/run.rs:78:24
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut input: Box<Read> = if archive_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut input: Box<dyn Read> = if archive_string != "" {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/runlist.rs:66:65
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let result = unsafe { libc::access(CString::new(s).unwrap().as_ptr(), libc::F_OK | libc::X_OK) };
[INFO] [stdout]    |                                        ------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 47 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/main.rs:29:16
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug,RustcDecodable)]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 9.91s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "dfd6f6e29283472d85121212815b3aec5d95d520a2947d696f5479de1129421b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dfd6f6e29283472d85121212815b3aec5d95d520a2947d696f5479de1129421b", kill_on_drop: false }`
[INFO] [stdout] dfd6f6e29283472d85121212815b3aec5d95d520a2947d696f5479de1129421b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fe7ccd420b8494663cd4203fea41af69ae5533b87fb4b580b479de00486380e7
[INFO] running `Command { std: "docker" "start" "-a" "fe7ccd420b8494663cd4203fea41af69ae5533b87fb4b580b479de00486380e7", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         try!(header.set_path(entry_name + "/"));
[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/commands/compile.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         try!(builder.append(&header, io::empty()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout] 51 |         header.set_mode(try!(entry_path.as_ref().metadata()).mode());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         try!(header.set_path(entry_name));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(builder.append(&header, try!(File::open(entry_path.as_ref()))));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let metadata = try!(entry_path.as_ref().metadata());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:63:38
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(builder.append(&header, try!(File::open(entry_path.as_ref()))));
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         try!(header.set_path("archive.toml"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         try!(builder.append(&header, io::Cursor::new(archive_toml_contents.as_bytes())));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         try!(write_to_archive(&mut builder, &basedir_with_slash, PathBuf::from(&self.basedir).join("roles")));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/commands/compile.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         try!(builder.into_inner());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |             try!(write_to_archive(&mut builder, &basedir_with_slash, &role.path));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/commands/compile.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |                         try!(write_to_archive(&mut builder, &basedir_with_slash, entry_path));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/commands/compile.rs:103:37
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         let entry = try!(entry);
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/run.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |                     try!(package.run(out));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/run.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 53 |             writeln!(out, "{}", try!(line)).unwrap();
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/run.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let status = try!(child.wait());
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/resolve.rs:124:32
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         v.push(try!(Package::from_file(&dir, dep_name)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/resolve.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |                         try!(stack.outdent());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/runlist.rs:75:22
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let config = try!(read_toml(&config_path));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:177:22
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let config = try!(read_toml(&role_path));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:187:40
[INFO] [stdout]     |
[INFO] [stdout] 187 | ...                   v.push(try!(Package::from_file(basedir, val)));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |                 try!(e.emit_map_elt_key(i, |e| e.emit_str(&package.name)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:240:17
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 try!(e.emit_map_elt_val(i, |e| e.emit_str(&package.version)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:253:20
[INFO] [stdout]     |
[INFO] [stdout] 253 |             v.push(try!(Role::from_file(basedir, role)));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:256:27
[INFO] [stdout]     |
[INFO] [stdout] 256 |                     repo: try!(PackageRepository::from_basedir(basedir)),
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:262:23
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let archive = try!(read_toml(&path));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |         try!(e.emit_map(1, |e| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         try!(e.emit_map(1, |e| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:293:13
[INFO] [stdout]     |
[INFO] [stdout] 293 |             try!(e.emit_map_elt_key(0, |e| e.emit_str("archive")));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:296:21
[INFO] [stdout]     |
[INFO] [stdout] 296 |                     try!(e.emit_map_elt_key(0, |e| e.emit_str("roles")));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |                     try!(e.emit_map_elt_val(0, |e| {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:301:33
[INFO] [stdout]     |
[INFO] [stdout] 301 | ...                   try!(e.emit_seq_elt(i, |e| e.emit_str(&role.name)));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             try!(e.emit_map_elt_key(0, |e| e.emit_str("role")));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:319:25
[INFO] [stdout]     |
[INFO] [stdout] 319 |                         try!(e.emit_map_elt_key(i, |e| e.emit_str(&role.name)));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:320:25
[INFO] [stdout]     |
[INFO] [stdout] 320 |                         try!(e.emit_map_elt_val(0, |e| role.encode(e)));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/seedfile.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         try!(v.write_u32::<BigEndian>(crc));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/unpack.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     try!(input.read_exact(&mut identifier_bytes));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/unpack.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     try!(input.read_exact(&mut signature_bytes_base64));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/unpack.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     try!(input.read_to_end(&mut tarball_bytes));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/keytool.rs:22:39
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let (mut input, source): (Box<BufRead>, PathBuf) = if should_read_from_file {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let (mut input, source): (Box<dyn BufRead>, PathBuf) = if should_read_from_file {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/keytool.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut output: Box<Write> = if output_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/commands/compile.rs:176:25
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut output: Box<Write> = if output_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/inspect.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut input: Box<Read> = if archive_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut input: Box<dyn Read> = if archive_string != "" {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/inspect.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut output: Box<Write> = if output_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/run.rs:78:24
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut input: Box<Read> = if archive_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut input: Box<dyn Read> = if archive_string != "" {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/runlist.rs:66:65
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let result = unsafe { libc::access(CString::new(s).unwrap().as_ptr(), libc::F_OK | libc::X_OK) };
[INFO] [stdout]    |                                        ------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 47 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling turboshell v0.0.0-snapshot (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/main.rs:29:16
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug,RustcDecodable)]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |         try!(header.set_path(entry_name + "/"));
[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/commands/compile.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         try!(builder.append(&header, io::empty()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:51:25
[INFO] [stdout]    |
[INFO] [stdout] 51 |         header.set_mode(try!(entry_path.as_ref().metadata()).mode());
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         try!(header.set_path(entry_name));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(builder.append(&header, try!(File::open(entry_path.as_ref()))));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:58:24
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let metadata = try!(entry_path.as_ref().metadata());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:63:38
[INFO] [stdout]    |
[INFO] [stdout] 63 |         try!(builder.append(&header, try!(File::open(entry_path.as_ref()))));
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |         try!(header.set_path("archive.toml"));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         try!(builder.append(&header, io::Cursor::new(archive_toml_contents.as_bytes())));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |         try!(write_to_archive(&mut builder, &basedir_with_slash, PathBuf::from(&self.basedir).join("roles")));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/commands/compile.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |         try!(builder.into_inner());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/compile.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |             try!(write_to_archive(&mut builder, &basedir_with_slash, &role.path));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/commands/compile.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |                         try!(write_to_archive(&mut builder, &basedir_with_slash, entry_path));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/commands/compile.rs:103:37
[INFO] [stdout]     |
[INFO] [stdout] 103 |                         let entry = try!(entry);
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/run.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |                     try!(package.run(out));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/run.rs:53:33
[INFO] [stdout]    |
[INFO] [stdout] 53 |             writeln!(out, "{}", try!(line)).unwrap();
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/commands/run.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 |     let status = try!(child.wait());
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/resolve.rs:124:32
[INFO] [stdout]     |
[INFO] [stdout] 124 |                         v.push(try!(Package::from_file(&dir, dep_name)));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/resolve.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |                         try!(stack.outdent());
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/runlist.rs:75:22
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let config = try!(read_toml(&config_path));
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:177:22
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let config = try!(read_toml(&role_path));
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:187:40
[INFO] [stdout]     |
[INFO] [stdout] 187 | ...                   v.push(try!(Package::from_file(basedir, val)));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |                 try!(e.emit_map_elt_key(i, |e| e.emit_str(&package.name)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:240:17
[INFO] [stdout]     |
[INFO] [stdout] 240 |                 try!(e.emit_map_elt_val(i, |e| e.emit_str(&package.version)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:253:20
[INFO] [stdout]     |
[INFO] [stdout] 253 |             v.push(try!(Role::from_file(basedir, role)));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:256:27
[INFO] [stdout]     |
[INFO] [stdout] 256 |                     repo: try!(PackageRepository::from_basedir(basedir)),
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:262:23
[INFO] [stdout]     |
[INFO] [stdout] 262 |         let archive = try!(read_toml(&path));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:292:9
[INFO] [stdout]     |
[INFO] [stdout] 292 |         try!(e.emit_map(1, |e| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 313 |         try!(e.emit_map(1, |e| {
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:293:13
[INFO] [stdout]     |
[INFO] [stdout] 293 |             try!(e.emit_map_elt_key(0, |e| e.emit_str("archive")));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:296:21
[INFO] [stdout]     |
[INFO] [stdout] 296 |                     try!(e.emit_map_elt_key(0, |e| e.emit_str("roles")));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:297:21
[INFO] [stdout]     |
[INFO] [stdout] 297 |                     try!(e.emit_map_elt_val(0, |e| {
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:301:33
[INFO] [stdout]     |
[INFO] [stdout] 301 | ...                   try!(e.emit_seq_elt(i, |e| e.emit_str(&role.name)));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:314:13
[INFO] [stdout]     |
[INFO] [stdout] 314 |             try!(e.emit_map_elt_key(0, |e| e.emit_str("role")));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:319:25
[INFO] [stdout]     |
[INFO] [stdout] 319 |                         try!(e.emit_map_elt_key(i, |e| e.emit_str(&role.name)));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/runlist.rs:320:25
[INFO] [stdout]     |
[INFO] [stdout] 320 |                         try!(e.emit_map_elt_val(0, |e| role.encode(e)));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/seedfile.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         try!(v.write_u32::<BigEndian>(crc));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/unpack.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     try!(input.read_exact(&mut identifier_bytes));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/unpack.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     try!(input.read_exact(&mut signature_bytes_base64));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/unpack.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     try!(input.read_to_end(&mut tarball_bytes));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/main.rs:29:16
[INFO] [stdout]    |
[INFO] [stdout] 29 | #[derive(Debug,RustcDecodable)]
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/keytool.rs:22:39
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let (mut input, source): (Box<BufRead>, PathBuf) = if should_read_from_file {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |         let (mut input, source): (Box<dyn BufRead>, PathBuf) = if should_read_from_file {
[INFO] [stdout]    |                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/keytool.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut output: Box<Write> = if output_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/commands/compile.rs:176:25
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut output: Box<Write> = if output_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 176 |     let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/inspect.rs:12:24
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut input: Box<Read> = if archive_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     let mut input: Box<dyn Read> = if archive_string != "" {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/inspect.rs:44:25
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut output: Box<Write> = if output_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stdout]    |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/commands/run.rs:78:24
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut input: Box<Read> = if archive_string != "" {
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 78 |     let mut input: Box<dyn Read> = if archive_string != "" {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: getting the inner pointer of a temporary `CString`
[INFO] [stdout]   --> src/runlist.rs:66:65
[INFO] [stdout]    |
[INFO] [stdout] 66 |     let result = unsafe { libc::access(CString::new(s).unwrap().as_ptr(), libc::F_OK | libc::X_OK) };
[INFO] [stdout]    |                                        ------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stdout]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 47 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.88s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "fe7ccd420b8494663cd4203fea41af69ae5533b87fb4b580b479de00486380e7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe7ccd420b8494663cd4203fea41af69ae5533b87fb4b580b479de00486380e7", kill_on_drop: false }`
[INFO] [stdout] fe7ccd420b8494663cd4203fea41af69ae5533b87fb4b580b479de00486380e7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0ae9e207c3f508c8f1ca7b22cea007700416dea8ae0ef52da8762bef11584da3
[INFO] running `Command { std: "docker" "start" "-a" "0ae9e207c3f508c8f1ca7b22cea007700416dea8ae0ef52da8762bef11584da3", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/compile.rs:49:9
[INFO] [stderr]    |
[INFO] [stderr] 49 |         try!(header.set_path(entry_name + "/"));
[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/commands/compile.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 54 |         try!(builder.append(&header, io::empty()));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/compile.rs:51:25
[INFO] [stderr]    |
[INFO] [stderr] 51 |         header.set_mode(try!(entry_path.as_ref().metadata()).mode());
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/compile.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |         try!(header.set_path(entry_name));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/compile.rs:63:9
[INFO] [stderr]    |
[INFO] [stderr] 63 |         try!(builder.append(&header, try!(File::open(entry_path.as_ref()))));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/compile.rs:58:24
[INFO] [stderr]    |
[INFO] [stderr] 58 |         let metadata = try!(entry_path.as_ref().metadata());
[INFO] [stderr]    |                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/compile.rs:63:38
[INFO] [stderr]    |
[INFO] [stderr] 63 |         try!(builder.append(&header, try!(File::open(entry_path.as_ref()))));
[INFO] [stderr]    |                                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/compile.rs:82:9
[INFO] [stderr]    |
[INFO] [stderr] 82 |         try!(header.set_path("archive.toml"));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/compile.rs:86:9
[INFO] [stderr]    |
[INFO] [stderr] 86 |         try!(builder.append(&header, io::Cursor::new(archive_toml_contents.as_bytes())));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/compile.rs:89:9
[INFO] [stderr]    |
[INFO] [stderr] 89 |         try!(write_to_archive(&mut builder, &basedir_with_slash, PathBuf::from(&self.basedir).join("roles")));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/commands/compile.rs:115:9
[INFO] [stderr]     |
[INFO] [stderr] 115 |         try!(builder.into_inner());
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/compile.rs:94:13
[INFO] [stderr]    |
[INFO] [stderr] 94 |             try!(write_to_archive(&mut builder, &basedir_with_slash, &role.path));
[INFO] [stderr]    |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/commands/compile.rs:106:25
[INFO] [stderr]     |
[INFO] [stderr] 106 |                         try!(write_to_archive(&mut builder, &basedir_with_slash, entry_path));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/commands/compile.rs:103:37
[INFO] [stderr]     |
[INFO] [stderr] 103 |                         let entry = try!(entry);
[INFO] [stderr]     |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/run.rs:23:21
[INFO] [stderr]    |
[INFO] [stderr] 23 |                     try!(package.run(out));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/run.rs:53:33
[INFO] [stderr]    |
[INFO] [stderr] 53 |             writeln!(out, "{}", try!(line)).unwrap();
[INFO] [stderr]    |                                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/commands/run.rs:57:18
[INFO] [stderr]    |
[INFO] [stderr] 57 |     let status = try!(child.wait());
[INFO] [stderr]    |                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/resolve.rs:124:32
[INFO] [stderr]     |
[INFO] [stderr] 124 |                         v.push(try!(Package::from_file(&dir, dep_name)));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/resolve.rs:209:25
[INFO] [stderr]     |
[INFO] [stderr] 209 |                         try!(stack.outdent());
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/runlist.rs:75:22
[INFO] [stderr]    |
[INFO] [stderr] 75 |         let config = try!(read_toml(&config_path));
[INFO] [stderr]    |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:177:22
[INFO] [stderr]     |
[INFO] [stderr] 177 |         let config = try!(read_toml(&role_path));
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:187:40
[INFO] [stderr]     |
[INFO] [stderr] 187 | ...                   v.push(try!(Package::from_file(basedir, val)));
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:239:17
[INFO] [stderr]     |
[INFO] [stderr] 239 |                 try!(e.emit_map_elt_key(i, |e| e.emit_str(&package.name)));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:240:17
[INFO] [stderr]     |
[INFO] [stderr] 240 |                 try!(e.emit_map_elt_val(i, |e| e.emit_str(&package.version)));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:253:20
[INFO] [stderr]     |
[INFO] [stderr] 253 |             v.push(try!(Role::from_file(basedir, role)));
[INFO] [stderr]     |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:256:27
[INFO] [stderr]     |
[INFO] [stderr] 256 |                     repo: try!(PackageRepository::from_basedir(basedir)),
[INFO] [stderr]     |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:262:23
[INFO] [stderr]     |
[INFO] [stderr] 262 |         let archive = try!(read_toml(&path));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:292:9
[INFO] [stderr]     |
[INFO] [stderr] 292 |         try!(e.emit_map(1, |e| {
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:313:9
[INFO] [stderr]     |
[INFO] [stderr] 313 |         try!(e.emit_map(1, |e| {
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:293:13
[INFO] [stderr]     |
[INFO] [stderr] 293 |             try!(e.emit_map_elt_key(0, |e| e.emit_str("archive")));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:296:21
[INFO] [stderr]     |
[INFO] [stderr] 296 |                     try!(e.emit_map_elt_key(0, |e| e.emit_str("roles")));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:297:21
[INFO] [stderr]     |
[INFO] [stderr] 297 |                     try!(e.emit_map_elt_val(0, |e| {
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:301:33
[INFO] [stderr]     |
[INFO] [stderr] 301 | ...                   try!(e.emit_seq_elt(i, |e| e.emit_str(&role.name)));
[INFO] [stderr]     |                       ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:314:13
[INFO] [stderr]     |
[INFO] [stderr] 314 |             try!(e.emit_map_elt_key(0, |e| e.emit_str("role")));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:319:25
[INFO] [stderr]     |
[INFO] [stderr] 319 |                         try!(e.emit_map_elt_key(i, |e| e.emit_str(&role.name)));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/runlist.rs:320:25
[INFO] [stderr]     |
[INFO] [stderr] 320 |                         try!(e.emit_map_elt_val(0, |e| role.encode(e)));
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/seedfile.rs:126:9
[INFO] [stderr]     |
[INFO] [stderr] 126 |         try!(v.write_u32::<BigEndian>(crc));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/unpack.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     try!(input.read_exact(&mut identifier_bytes));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/unpack.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     try!(input.read_exact(&mut signature_bytes_base64));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/unpack.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     try!(input.read_to_end(&mut tarball_bytes));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/commands/keytool.rs:22:39
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let (mut input, source): (Box<BufRead>, PathBuf) = if should_read_from_file {
[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: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 22 |         let (mut input, source): (Box<dyn BufRead>, PathBuf) = if should_read_from_file {
[INFO] [stderr]    |                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/commands/keytool.rs:48:29
[INFO] [stderr]    |
[INFO] [stderr] 48 |         let mut output: Box<Write> = if output_string != "" {
[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] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 48 |         let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/commands/compile.rs:176:25
[INFO] [stderr]     |
[INFO] [stderr] 176 |     let mut output: Box<Write> = if output_string != "" {
[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] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 176 |     let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stderr]     |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/commands/inspect.rs:12:24
[INFO] [stderr]    |
[INFO] [stderr] 12 |     let mut input: Box<Read> = if archive_string != "" {
[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] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 12 |     let mut input: Box<dyn Read> = if archive_string != "" {
[INFO] [stderr]    |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/commands/inspect.rs:44:25
[INFO] [stderr]    |
[INFO] [stderr] 44 |     let mut output: Box<Write> = if output_string != "" {
[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] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 44 |     let mut output: Box<dyn Write> = if output_string != "" {
[INFO] [stderr]    |                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/commands/run.rs:78:24
[INFO] [stderr]    |
[INFO] [stderr] 78 |     let mut input: Box<Read> = if archive_string != "" {
[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] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 78 |     let mut input: Box<dyn Read> = if archive_string != "" {
[INFO] [stderr]    |                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: getting the inner pointer of a temporary `CString`
[INFO] [stderr]   --> src/runlist.rs:66:65
[INFO] [stderr]    |
[INFO] [stderr] 66 |     let result = unsafe { libc::access(CString::new(s).unwrap().as_ptr(), libc::F_OK | libc::X_OK) };
[INFO] [stderr]    |                                        ------------------------ ^^^^^^ this pointer will be invalid
[INFO] [stderr]    |                                        |
[INFO] [stderr]    |                                        this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stderr]    |
[INFO] [stderr]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stderr]    = help: for more information, see https://doc.rust-lang.org/reference/destructors.html
[INFO] [stderr]    = note: `#[warn(temporary_cstring_as_ptr)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `turboshell` (lib) generated 47 warnings (run `cargo fix --lib -p turboshell` to apply 6 suggestions)
[INFO] [stderr] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/main.rs:29:16
[INFO] [stderr]    |
[INFO] [stderr] 29 | #[derive(Debug,RustcDecodable)]
[INFO] [stderr]    |                ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `turboshell` (bin "turboshell") generated 1 warning
[INFO] [stderr] warning: `turboshell` (bin "turboshell" test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `turboshell` (lib test) generated 47 warnings (47 duplicates)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.22
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/turboshell-c9136362e2e9d690)
[INFO] [stdout] 
[INFO] [stdout] running 28 tests
[INFO] [stdout] test resolve::tests::stack_tests ... ok
[INFO] [stdout] test runlist::tests::package_dependencies ... ok
[INFO] [stdout] test resolve::tests::simple_resolver_test ... ok
[INFO] [stdout] test runlist::tests::package_dependencies_isnt_an_array ... ok
[INFO] [stdout] test runlist::tests::package_env_isnt_a_table ... ok
[INFO] [stdout] test resolve::tests::cyclical_resolver_test ... ok
[INFO] [stdout] test runlist::tests::package_directory_is_missing ... ok
[INFO] [stdout] test runlist::tests::package_dependencies_isnt_an_array_of_strings ... ok
[INFO] [stdout] test resolve::tests::more_complicated_resolver_test ... ok
[INFO] [stdout] test runlist::tests::package_env_values_arent_strings ... ok
[INFO] [stdout] test resolve::tests::env_test ... ok
[INFO] [stdout] test runlist::tests::package_name_doesnt_match_directory ... ok
[INFO] [stdout] test runlist::tests::package_with_invalid_utf8 ... ok
[INFO] [stdout] test runlist::tests::package_name_is_missing ... ok
[INFO] [stdout] test seedfile::tests::new_seedfile_each_time ... ok
[INFO] [stdout] test runlist::tests::package_version_isnt_a_string ... ok
[INFO] [stdout] test runlist::tests::package_main_doesnt_exist ... ok
[INFO] [stdout] test seedfile::tests::test_parsing ... ok
[INFO] [stdout] test runlist::tests::package_has_broken_toml ... ok
[INFO] [stdout] test runlist::tests::package_with_no_problems ... ok
[INFO] [stdout] test runlist::tests::package_main_isnt_executable ... ok
[INFO] [stdout] test runlist::tests::package_with_main_specified ... ok
[INFO] [stdout] test runlist::tests::package_version_is_missing ... ok
[INFO] [stdout] test runlist::tests::package_main_isnt_a_string ... ok
[INFO] [stdout] test seedfile::tests::roundtrip_seedfile ... ok
[INFO] [stdout] test runlist::tests::package_env_vars ... ok
[INFO] [stdout] test runlist::tests::package_name_isnt_a_string ... ok
[INFO] [stdout] test runlist::tests::package_with_unreadable_package_toml ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- runlist::tests::package_with_unreadable_package_toml stdout ----
[INFO] [stdout] thread 'runlist::tests::package_with_unreadable_package_toml' panicked at 'called `Result::unwrap()` on an `Err` value: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" }', src/runlist.rs:440:84
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5624bbed5dea - std::backtrace_rs::backtrace::libunwind::trace::ha9053a9a07ca49cb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
[INFO] [stdout]    1:     0x5624bbed5dea - std::backtrace_rs::backtrace::trace_unsynchronized::h9c2852a457ad564e
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x5624bbed5dea - std::sys_common::backtrace::_print_fmt::h457936fbfaa0070f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:65:5
[INFO] [stdout]    3:     0x5624bbed5dea - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5779d7bf7f70cb0c
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x5624bbefb1de - core::fmt::write::h5a4baaff1bcd3eb5
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/fmt/mod.rs:1232:17
[INFO] [stdout]    5:     0x5624bbed2f95 - std::io::Write::write_fmt::h478f79c628ef31d1
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/io/mod.rs:1684:15
[INFO] [stdout]    6:     0x5624bbed5bb5 - std::sys_common::backtrace::_print::h5fcdc36060f177e8
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    7:     0x5624bbed5bb5 - std::sys_common::backtrace::print::h54ca9458b876c8bf
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    8:     0x5624bbed797f - std::panicking::default_hook::{{closure}}::hbe471161c7664ed6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:271:22
[INFO] [stdout]    9:     0x5624bbed763f - std::panicking::default_hook::ha3500da57aa4ac4f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:287:9
[INFO] [stdout]   10:     0x5624bbe51637 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdf1b89dd137ece34
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:2001:9
[INFO] [stdout]   11:     0x5624bbe51637 - test::test_main::{{closure}}::h9081a79f20e75698
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:135:21
[INFO] [stdout]   12:     0x5624bbed80ad - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6507bddc3eebb4a5
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:2001:9
[INFO] [stdout]   13:     0x5624bbed80ad - std::panicking::rust_panic_with_hook::h50c09d000dc561d2
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:696:13
[INFO] [stdout]   14:     0x5624bbed7e29 - std::panicking::begin_panic_handler::{{closure}}::h9e2b2176e00e0d9c
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:583:13
[INFO] [stdout]   15:     0x5624bbed6256 - std::sys_common::backtrace::__rust_end_short_backtrace::h5739b8e512c09d02
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:150:18
[INFO] [stdout]   16:     0x5624bbed7b32 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
[INFO] [stdout]   17:     0x5624bbdd8ec3 - core::panicking::panic_fmt::hf33a1475b4dc5c3e
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
[INFO] [stdout]   18:     0x5624bbdd9373 - core::result::unwrap_failed::hdff5465d74574b44
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/result.rs:1750:5
[INFO] [stdout]   19:     0x5624bbe5c84d - core::result::Result<T,E>::unwrap::hfeb8eb11d96246b3
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/result.rs:1090:23
[INFO] [stdout]   20:     0x5624bbe0a096 - turboshell::runlist::tests::package_with_unreadable_package_toml::h3da45ad801a1b114
[INFO] [stdout]                                at /opt/rustwide/workdir/src/runlist.rs:440:9
[INFO] [stdout]   21:     0x5624bbe09e27 - turboshell::runlist::tests::package_with_unreadable_package_toml::{{closure}}::h57a2818263809afe
[INFO] [stdout]                                at /opt/rustwide/workdir/src/runlist.rs:428:47
[INFO] [stdout]   22:     0x5624bbe0f1a5 - core::ops::function::FnOnce::call_once::h11479f5967f3b433
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5624bbe56a1f - core::ops::function::FnOnce::call_once::h7d969581be7d0075
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5624bbe56a1f - test::__rust_begin_short_backtrace::hca25a52684e56655
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:656:18
[INFO] [stdout]   25:     0x5624bbe2803c - test::run_test::{{closure}}::ha8ac744c4af1a4bb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:647:30
[INFO] [stdout]   26:     0x5624bbe2803c - core::ops::function::FnOnce::call_once{{vtable.shim}}::h7b411a9ed45bdecf
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5624bbe559e6 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd05328869a8ed200
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   28:     0x5624bbe559e6 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0c601ce20bd5b2be
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   29:     0x5624bbe559e6 - std::panicking::try::do_call::ha4be5c164fe30854
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
[INFO] [stdout]   30:     0x5624bbe559e6 - std::panicking::try::h604546f3609af05f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
[INFO] [stdout]   31:     0x5624bbe559e6 - std::panic::catch_unwind::h5bfa8afe44c9c2f9
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
[INFO] [stdout]   32:     0x5624bbe559e6 - test::run_test_in_process::hd50dee55dd63e6aa
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:679:27
[INFO] [stdout]   33:     0x5624bbe559e6 - test::run_test::run_test_inner::{{closure}}::h4aa0f433aa85cea8
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:573:39
[INFO] [stdout]   34:     0x5624bbe226b1 - test::run_test::run_test_inner::{{closure}}::had56431adf24b4d6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:600:37
[INFO] [stdout]   35:     0x5624bbe226b1 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha8d9890e0c73bf13
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:134:18
[INFO] [stdout]   36:     0x5624bbe280cb - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h251832bcb4a95327
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/thread/mod.rs:560:17
[INFO] [stdout]   37:     0x5624bbe280cb - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8fdff598fa414831
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   38:     0x5624bbe280cb - std::panicking::try::do_call::h455dd2f7764a950f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
[INFO] [stdout]   39:     0x5624bbe280cb - std::panicking::try::had6f23b7b73ae72a
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
[INFO] [stdout]   40:     0x5624bbe280cb - std::panic::catch_unwind::ha6a5ca3915b4dad0
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
[INFO] [stdout]   41:     0x5624bbe280cb - std::thread::Builder::spawn_unchecked_::{{closure}}::h883b72ef75da6231
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   42:     0x5624bbe280cb - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb7dff73dc8bd2ccb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x5624bbedcb63 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h39990b24eedef2ab
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   44:     0x5624bbedcb63 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h01a027258444143b
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   45:     0x5624bbedcb63 - std::sys::unix::thread::Thread::new::thread_start::ha4f1cdd9c25884ba
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7f99b92cdb43 - <unknown>
[INFO] [stdout]   47:     0x7f99b935ebb4 - __clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     runlist::tests::package_with_unreadable_package_toml
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 27 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "0ae9e207c3f508c8f1ca7b22cea007700416dea8ae0ef52da8762bef11584da3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ae9e207c3f508c8f1ca7b22cea007700416dea8ae0ef52da8762bef11584da3", kill_on_drop: false }`
[INFO] [stdout] 0ae9e207c3f508c8f1ca7b22cea007700416dea8ae0ef52da8762bef11584da3
