[INFO] fetching crate strason 0.4.0...
[INFO] checking strason-0.4.0 against nightly-2024-02-05 for check-cfg
[INFO] extracting crate strason 0.4.0 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate strason 0.4.0 on toolchain nightly-2024-02-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate strason 0.4.0
[INFO] finished tweaking crates.io crate strason 0.4.0
[INFO] tweaked toml for crates.io crate strason 0.4.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9478dc4f38f7012b39bc7eb2f6bc95d098e8333fd027a3ac1da0b2578c4d7df5
[INFO] running `Command { std: "docker" "start" "-a" "9478dc4f38f7012b39bc7eb2f6bc95d098e8333fd027a3ac1da0b2578c4d7df5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9478dc4f38f7012b39bc7eb2f6bc95d098e8333fd027a3ac1da0b2578c4d7df5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9478dc4f38f7012b39bc7eb2f6bc95d098e8333fd027a3ac1da0b2578c4d7df5", kill_on_drop: false }`
[INFO] [stdout] 9478dc4f38f7012b39bc7eb2f6bc95d098e8333fd027a3ac1da0b2578c4d7df5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d22b69e1fb03641abc3a7daba325902cdc03c2b94598f43e7e63ffaa04f4695d
[INFO] running `Command { std: "docker" "start" "-a" "d22b69e1fb03641abc3a7daba325902cdc03c2b94598f43e7e63ffaa04f4695d", kill_on_drop: false }`
[INFO] [stderr]     Checking strason v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser.rs:245:22
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 b'0' ... b'9' => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[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(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser.rs:410:25
[INFO] [stdout]     |
[INFO] [stdout] 410 |             b'-' | b'0' ... b'9' => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     try!(w.write(b"\""));
[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/serializer.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     try!(w.write(b"\""));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 |             '\x07' => { try!(w.write(b"\\b")); }
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:27:25
[INFO] [stdout]    |
[INFO] [stdout] 27 |             '\x0c' => { try!(w.write(b"\\f")); }
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |             '\n' => { try!(w.write(b"\\n")); }
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |             '\r' => { try!(w.write(b"\\r")); }
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |             '\t' => { try!(w.write(b"\\t")); }
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 |             '\\' => { try!(w.write(b"\\\\")); }
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |             '"' => { try!(w.write(b"\\\"")); }
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/serializer.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |             '\x20'...'\x7e' => { try!(w.write(&[ch as u8])); }
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |             '\x20'...'\x7e' => { try!(w.write(&[ch as u8])); }
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     try!(write!(w, "\\u{:02x}{:02x}", word >> 8 as u8, word as u8));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:53:30
[INFO] [stdout]    |
[INFO] [stdout] 53 |         JsonInner::Null => { try!(w.write(b"null")); }
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |         JsonInner::Bool(true) => { try!(w.write(b"true")); }
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:55:37
[INFO] [stdout]    |
[INFO] [stdout] 55 |         JsonInner::Bool(false) => { try!(w.write(b"false")); }
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:56:39
[INFO] [stdout]    |
[INFO] [stdout] 56 |         JsonInner::Number(ref s) => { try!(w.write(s.as_bytes())); }
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:57:39
[INFO] [stdout]    |
[INFO] [stdout] 57 |         JsonInner::String(ref s) => { try!(serialize_string(&s[..], &mut *w)); }
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             try!(w.write(b"["));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             try!(w.write(b"]"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 try!(serialize(elem, &mut *w));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |                     try!(w.write(b", "));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             try!(w.write(b"{"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             try!(w.write(b"}"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 try!(serialize_string(key, &mut *w));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 try!(w.write(b": "));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 try!(serialize(val, &mut *w));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     try!(w.write(b", "));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/lib.rs:81:35
[INFO] [stdout]    |
[INFO] [stdout] 81 |         f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/parser.rs:93:76
[INFO] [stdout]    |
[INFO] [stdout] 93 |             _ => write!(f, "{}:{}: {}", self.line, self.col, error::Error::description(self))
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/parser.rs:115:56
[INFO] [stdout]     |
[INFO] [stdout] 115 |             ErrorType::Unicode(ref e) => error::Error::description(e),
[INFO] [stdout]     |                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/parser.rs:117:51
[INFO] [stdout]     |
[INFO] [stdout] 117 |             ErrorType::Io(ref e) => error::Error::description(e),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn cause(&self) -> Option<&error::Error> {
[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] 63 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser.rs:245:22
[INFO] [stdout]     |
[INFO] [stdout] 245 |                 b'0' ... b'9' => {
[INFO] [stdout]     |                      ^^^ help: use `..=` for an inclusive range
[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(ellipsis_inclusive_range_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/parser.rs:410:25
[INFO] [stdout]     |
[INFO] [stdout] 410 |             b'-' | b'0' ... b'9' => {
[INFO] [stdout]     |                         ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     try!(w.write(b"\""));
[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/serializer.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     try!(w.write(b"\""));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:26:25
[INFO] [stdout]    |
[INFO] [stdout] 26 |             '\x07' => { try!(w.write(b"\\b")); }
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:27:25
[INFO] [stdout]    |
[INFO] [stdout] 27 |             '\x0c' => { try!(w.write(b"\\f")); }
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:28:23
[INFO] [stdout]    |
[INFO] [stdout] 28 |             '\n' => { try!(w.write(b"\\n")); }
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:29:23
[INFO] [stdout]    |
[INFO] [stdout] 29 |             '\r' => { try!(w.write(b"\\r")); }
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:30:23
[INFO] [stdout]    |
[INFO] [stdout] 30 |             '\t' => { try!(w.write(b"\\t")); }
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:31:23
[INFO] [stdout]    |
[INFO] [stdout] 31 |             '\\' => { try!(w.write(b"\\\\")); }
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:32:22
[INFO] [stdout]    |
[INFO] [stdout] 32 |             '"' => { try!(w.write(b"\\\"")); }
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]   --> src/serializer.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |             '\x20'...'\x7e' => { try!(w.write(&[ch as u8])); }
[INFO] [stdout]    |                   ^^^ help: use `..=` for an inclusive range
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:33:34
[INFO] [stdout]    |
[INFO] [stdout] 33 |             '\x20'...'\x7e' => { try!(w.write(&[ch as u8])); }
[INFO] [stdout]    |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:39:21
[INFO] [stdout]    |
[INFO] [stdout] 39 |                     try!(write!(w, "\\u{:02x}{:02x}", word >> 8 as u8, word as u8));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:53:30
[INFO] [stdout]    |
[INFO] [stdout] 53 |         JsonInner::Null => { try!(w.write(b"null")); }
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:54:36
[INFO] [stdout]    |
[INFO] [stdout] 54 |         JsonInner::Bool(true) => { try!(w.write(b"true")); }
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:55:37
[INFO] [stdout]    |
[INFO] [stdout] 55 |         JsonInner::Bool(false) => { try!(w.write(b"false")); }
[INFO] [stdout]    |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:56:39
[INFO] [stdout]    |
[INFO] [stdout] 56 |         JsonInner::Number(ref s) => { try!(w.write(s.as_bytes())); }
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:57:39
[INFO] [stdout]    |
[INFO] [stdout] 57 |         JsonInner::String(ref s) => { try!(serialize_string(&s[..], &mut *w)); }
[INFO] [stdout]    |                                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:59:13
[INFO] [stdout]    |
[INFO] [stdout] 59 |             try!(w.write(b"["));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:68:13
[INFO] [stdout]    |
[INFO] [stdout] 68 |             try!(w.write(b"]"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 try!(serialize(elem, &mut *w));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:63:21
[INFO] [stdout]    |
[INFO] [stdout] 63 |                     try!(w.write(b", "));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             try!(w.write(b"{"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:82:13
[INFO] [stdout]    |
[INFO] [stdout] 82 |             try!(w.write(b"}"));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:77:17
[INFO] [stdout]    |
[INFO] [stdout] 77 |                 try!(serialize_string(key, &mut *w));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:78:17
[INFO] [stdout]    |
[INFO] [stdout] 78 |                 try!(w.write(b": "));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:79:17
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 try!(serialize(val, &mut *w));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/serializer.rs:75:21
[INFO] [stdout]    |
[INFO] [stdout] 75 |                     try!(w.write(b", "));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser.rs:99:32
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn cause(&self) -> Option<&error::Error> {
[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] 99 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/lib.rs:81:35
[INFO] [stdout]    |
[INFO] [stdout] 81 |         f.write_str(error::Error::description(self))
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/parser.rs:93:76
[INFO] [stdout]    |
[INFO] [stdout] 93 |             _ => write!(f, "{}:{}: {}", self.line, self.col, error::Error::description(self))
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/parser.rs:115:56
[INFO] [stdout]     |
[INFO] [stdout] 115 |             ErrorType::Unicode(ref e) => error::Error::description(e),
[INFO] [stdout]     |                                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/parser.rs:117:51
[INFO] [stdout]     |
[INFO] [stdout] 117 |             ErrorType::Io(ref e) => error::Error::description(e),
[INFO] [stdout]     |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:63:32
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn cause(&self) -> Option<&error::Error> {
[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] 63 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/parser.rs:99:32
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn cause(&self) -> Option<&error::Error> {
[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] 99 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/sentinel.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     err.description().as_ptr() == SENTINEL_STR.as_ptr()
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/sentinel.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     err.description().as_ptr() == SENTINEL_STR.as_ptr()
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/lib.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |             ErrorInner::Parser(ref e) => e.description(),
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 38 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/sentinel.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     err.description().as_ptr() == SENTINEL_STR.as_ptr()
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/sentinel.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 82 |     err.description().as_ptr() == SENTINEL_STR.as_ptr()
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/lib.rs:72:44
[INFO] [stdout]    |
[INFO] [stdout] 72 |             ErrorInner::Parser(ref e) => e.description(),
[INFO] [stdout]    |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/parser.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         ^^^^^^^^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 573 |         assert_eq!(Json::from_str("{}").unwrap(), jobj![]);
[INFO] [stdout]     |                                                   ------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `jobj` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let _ = &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/parser.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         ^^^^^^^^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 574 |         assert_eq!(Json::from_str("{\"key\": \"val\"}").unwrap(), jobj!["key" => jstr!("val")]);
[INFO] [stdout]     |                                                                   ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `jobj` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let _ = &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/parser.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         ^^^^^^^^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 575 |         assert_eq!(Json::from_str("{\"key\": false}").unwrap(), jobj!["key" => jbool!(false)]);
[INFO] [stdout]     |                                                                 ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `jobj` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let _ = &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/parser.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         ^^^^^^^^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 576 |         assert_eq!(Json::from_str("{\"key\": []}").unwrap(), jobj!["key" => jarr![]]);
[INFO] [stdout]     |                                                              ----------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `jobj` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let _ = &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/parser.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         ^^^^^^^^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 578 |         assert_eq!(Json::from_str("{\"key\": 1234}").unwrap(), jobj!["key" => jnum!("1234")]);
[INFO] [stdout]     |                                                                ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `jobj` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let _ = &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/parser.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 | ...   &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |       ^^^^^^^^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 580 | ...   assert_eq!(Json::from_str("{\"key1\": \"val\", \"key2\": \"val\"}").unwrap(), jobj!["key1" => jstr!("val"), "key2" => jstr!("val")]);
[INFO] [stdout]     |                                                                                     ----------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `jobj` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let _ = &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused borrow that must be used
[INFO] [stdout]    --> src/parser.rs:487:9
[INFO] [stdout]     |
[INFO] [stdout] 487 |         &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         ^^^^^^^^ the borrow produces a value
[INFO] [stdout] ...
[INFO] [stdout] 581 |         assert_eq!(Json::from_str("{\"key\": \"val\", \"key\": \"val2\"}").unwrap(), jobj!["key" => jstr!("val"), "key" => jstr!("val2")]);
[INFO] [stdout]     |                                                                                      ---------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `jobj` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let _ = &mut vec;  /* dummy "use as mut" to avoid errors in case of no inserts */
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 45 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.72s
[INFO] running `Command { std: "docker" "inspect" "d22b69e1fb03641abc3a7daba325902cdc03c2b94598f43e7e63ffaa04f4695d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d22b69e1fb03641abc3a7daba325902cdc03c2b94598f43e7e63ffaa04f4695d", kill_on_drop: false }`
[INFO] [stdout] d22b69e1fb03641abc3a7daba325902cdc03c2b94598f43e7e63ffaa04f4695d
