[INFO] fetching crate orizentic 1.0.0...
[INFO] testing orizentic-1.0.0 against 1.69.0 for beta-1.70-1
[INFO] extracting crate orizentic 1.0.0 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate orizentic 1.0.0 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 crates.io crate orizentic 1.0.0
[INFO] finished tweaking crates.io crate orizentic 1.0.0
[INFO] tweaked toml for crates.io crate orizentic 1.0.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" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+1.69.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[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]  Downloading crates ...
[INFO] [stderr]   Downloaded untrusted v0.6.2
[INFO] [stderr]   Downloaded jsonwebtoken v5.0.1
[INFO] [stderr]   Downloaded ring v0.13.5
[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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fc2fd4ecfcd8c9456e46bbd5e72418939dd965136e131f72f1c8ed2cb164913e
[INFO] running `Command { std: "docker" "start" "-a" "fc2fd4ecfcd8c9456e46bbd5e72418939dd965136e131f72f1c8ed2cb164913e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fc2fd4ecfcd8c9456e46bbd5e72418939dd965136e131f72f1c8ed2cb164913e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc2fd4ecfcd8c9456e46bbd5e72418939dd965136e131f72f1c8ed2cb164913e", kill_on_drop: false }`
[INFO] [stdout] fc2fd4ecfcd8c9456e46bbd5e72418939dd965136e131f72f1c8ed2cb164913e
[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=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] 06f8d762ab2fea6b343c392bb200b8e8595df421672a24d3b813eff5e8d5a3aa
[INFO] running `Command { std: "docker" "start" "-a" "06f8d762ab2fea6b343c392bb200b8e8595df421672a24d3b813eff5e8d5a3aa", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling num-traits v0.2.15
[INFO] [stderr]    Compiling serde v1.0.160
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling unicode-width v0.1.10
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling iana-time-zone v0.1.56
[INFO] [stderr]    Compiling untrusted v0.6.2
[INFO] [stderr]    Compiling byteorder v1.4.3
[INFO] [stderr]    Compiling safemem v0.3.3
[INFO] [stderr]    Compiling rand v0.4.6
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling either v1.8.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling yaml-rust v0.4.5
[INFO] [stderr]    Compiling itertools v0.7.11
[INFO] [stderr]    Compiling base64 v0.9.3
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling orizentic v1.0.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling uuid v0.6.5
[INFO] [stderr]    Compiling ring v0.13.5
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]    Compiling chrono v0.4.24
[INFO] [stderr]    Compiling serde_json v1.0.96
[INFO] [stderr]    Compiling serde_derive v1.0.160
[INFO] [stderr]    Compiling jsonwebtoken v5.0.1
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     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] 44 |     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/core.rs:39:45
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Error::JWTError(ref err) => err.description(),
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/core.rs:157:46
[INFO] [stdout]     |
[INFO] [stdout] 157 |             expiration: self.exp.map(|t| Utc.timestamp(t, 0)),
[INFO] [stdout]     |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/core.rs:159:28
[INFO] [stdout]     |
[INFO] [stdout] 159 |             issued_at: Utc.timestamp(self.iat, 0),
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/bin.rs:74:83
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let perm_val: String = claimset.permissions.0.clone().into_iter().intersperse(String::from(", ")).collect();
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` 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.77s
[INFO] running `Command { std: "docker" "inspect" "06f8d762ab2fea6b343c392bb200b8e8595df421672a24d3b813eff5e8d5a3aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "06f8d762ab2fea6b343c392bb200b8e8595df421672a24d3b813eff5e8d5a3aa", kill_on_drop: false }`
[INFO] [stdout] 06f8d762ab2fea6b343c392bb200b8e8595df421672a24d3b813eff5e8d5a3aa
[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=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] 02953f2e2a1cd0903a941409178a42bcae4a8a724c43e8d75d1542a80dab4e4d
[INFO] running `Command { std: "docker" "start" "-a" "02953f2e2a1cd0903a941409178a42bcae4a8a724c43e8d75d1542a80dab4e4d", kill_on_drop: false }`
[INFO] [stderr]    Compiling orizentic v1.0.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     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] 44 |     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/core.rs:39:45
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Error::JWTError(ref err) => err.description(),
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/core.rs:157:46
[INFO] [stdout]     |
[INFO] [stdout] 157 |             expiration: self.exp.map(|t| Utc.timestamp(t, 0)),
[INFO] [stdout]     |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/core.rs:159:28
[INFO] [stdout]     |
[INFO] [stdout] 159 |             issued_at: Utc.timestamp(self.iat, 0),
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/bin.rs:74:83
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let perm_val: String = claimset.permissions.0.clone().into_iter().intersperse(String::from(", ")).collect();
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/core.rs:44:32
[INFO] [stdout]    |
[INFO] [stdout] 44 |     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] 44 |     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/core.rs:39:45
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Error::JWTError(ref err) => err.description(),
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a method with this name may be added to the standard library in the future
[INFO] [stdout]   --> src/bin.rs:74:83
[INFO] [stdout]    |
[INFO] [stdout] 74 |                 let perm_val: String = claimset.permissions.0.clone().into_iter().intersperse(String::from(", ")).collect();
[INFO] [stdout]    |                                                                                   ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stdout]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stdout]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stdout]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/core.rs:157:46
[INFO] [stdout]     |
[INFO] [stdout] 157 |             expiration: self.exp.map(|t| Utc.timestamp(t, 0)),
[INFO] [stdout]     |                                              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stdout]    --> src/core.rs:159:28
[INFO] [stdout]     |
[INFO] [stdout] 159 |             issued_at: Utc.timestamp(self.iat, 0),
[INFO] [stdout]     |                            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> tests/integration_test.rs:425:36
[INFO] [stdout]     |
[INFO] [stdout] 425 |         Err(err) => assert!(false, err),
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 425 |         Err(err) => assert!(false, "{}", err),
[INFO] [stdout]     |                                    +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.30s
[INFO] running `Command { std: "docker" "inspect" "02953f2e2a1cd0903a941409178a42bcae4a8a724c43e8d75d1542a80dab4e4d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "02953f2e2a1cd0903a941409178a42bcae4a8a724c43e8d75d1542a80dab4e4d", kill_on_drop: false }`
[INFO] [stdout] 02953f2e2a1cd0903a941409178a42bcae4a8a724c43e8d75d1542a80dab4e4d
[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=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] 81e512934d2ee96a708f1dd381634b4e1dbd6d2ce4669497f9e224c511809470
[INFO] running `Command { std: "docker" "start" "-a" "81e512934d2ee96a708f1dd381634b4e1dbd6d2ce4669497f9e224c511809470", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/core.rs:44:32
[INFO] [stderr]    |
[INFO] [stderr] 44 |     fn cause(&self) -> Option<&error::Error> {
[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] 44 |     fn cause(&self) -> Option<&dyn error::Error> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/core.rs:39:45
[INFO] [stderr]    |
[INFO] [stderr] 39 |             Error::JWTError(ref err) => err.description(),
[INFO] [stderr]    |                                             ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stderr]    --> src/core.rs:157:46
[INFO] [stderr]     |
[INFO] [stderr] 157 |             expiration: self.exp.map(|t| Utc.timestamp(t, 0)),
[INFO] [stderr]     |                                              ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::chrono::TimeZone::timestamp`: use `timestamp_opt()` instead
[INFO] [stderr]    --> src/core.rs:159:28
[INFO] [stderr]     |
[INFO] [stderr] 159 |             issued_at: Utc.timestamp(self.iat, 0),
[INFO] [stderr]     |                            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `orizentic` (lib) generated 4 warnings (run `cargo fix --lib -p orizentic` to apply 1 suggestion)
[INFO] [stderr] warning: `orizentic` (lib test) generated 4 warnings (4 duplicates)
[INFO] [stderr] warning: a method with this name may be added to the standard library in the future
[INFO] [stderr]   --> src/bin.rs:74:83
[INFO] [stderr]    |
[INFO] [stderr] 74 |                 let perm_val: String = claimset.permissions.0.clone().into_iter().intersperse(String::from(", ")).collect();
[INFO] [stderr]    |                                                                                   ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: once this associated item is added to the standard library, the ambiguity may cause an error or change in behavior!
[INFO] [stderr]    = note: for more information, see issue #48919 <https://github.com/rust-lang/rust/issues/48919>
[INFO] [stderr]    = help: call with fully qualified syntax `itertools::Itertools::intersperse(...)` to keep using the current method
[INFO] [stderr]    = note: `#[warn(unstable_name_collisions)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> tests/integration_test.rs:425:36
[INFO] [stderr]     |
[INFO] [stderr] 425 |         Err(err) => assert!(false, err),
[INFO] [stderr]     |                                    ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stderr] help: add a "{}" format string to `Display` the message
[INFO] [stderr]     |
[INFO] [stderr] 425 |         Err(err) => assert!(false, "{}", err),
[INFO] [stderr]     |                                    +++++
[INFO] [stderr] 
[INFO] [stderr] warning: `orizentic` (bin "orizentic") generated 1 warning
[INFO] [stderr] warning: `orizentic` (test "integration_test") generated 1 warning (run `cargo fix --test "integration_test"` to apply 1 suggestion)
[INFO] [stderr] warning: `orizentic` (bin "orizentic" test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.16s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/orizentic-c7e7757b9e28acc6)
[INFO] [stderr]      Running unittests src/bin.rs (/opt/rustwide/target/debug/deps/orizentic-b3736dc35072e497)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-20f3f854f1a68561)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test authorizes_a_token_with_the_correct_resource_and_permissions ... ok
[INFO] [stdout] test can_create_a_new_claimset ... ok
[INFO] [stdout] test accepts_tokens_that_have_no_expiration ... ok
[INFO] [stdout] test validates_present_tokens_with_a_valid_secret ... ok
[INFO] [stdout] test rejects_tokens_with_an_invalid_secret ... ok
[INFO] [stdout] test claims_serialize_to_json ... ok
[INFO] [stdout] test rejects_a_token_with_the_incorrect_resource_name ... ok
[INFO] [stdout] test can_revoke_claim_by_id ... ok
[INFO] [stdout] test can_revoke_a_token ... ok
[INFO] [stdout] test rejects_a_token_with_the_incorrect_permissions ... ok
[INFO] [stdout] test rejects_tokens_that_are_absent_from_the_database ... ok
[INFO] [stdout] test can_retrieve_claim_by_id ... ok
[INFO] [stderr] thread panicked while panicking. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--test integration_test`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/integration_test-20f3f854f1a68561` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "81e512934d2ee96a708f1dd381634b4e1dbd6d2ce4669497f9e224c511809470", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "81e512934d2ee96a708f1dd381634b4e1dbd6d2ce4669497f9e224c511809470", kill_on_drop: false }`
[INFO] [stdout] 81e512934d2ee96a708f1dd381634b4e1dbd6d2ce4669497f9e224c511809470
