[INFO] fetching crate biscuit 0.7.0... [INFO] testing biscuit-0.7.0 against beta-2025-09-21 for beta-1.91-3 [INFO] extracting crate biscuit 0.7.0 into /workspace/builds/worker-2-tc2/source [INFO] started tweaking crates.io crate biscuit 0.7.0 [INFO] finished tweaking crates.io crate biscuit 0.7.0 [INFO] tweaked toml for crates.io crate biscuit 0.7.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate biscuit 0.7.0 on toolchain beta-2025-09-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 60 packages to latest compatible versions [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f8a56017af78f0eb480c670aefd2d50acd2ecffe083c7a0140891638b92dddca [INFO] running `Command { std: "docker" "start" "-a" "f8a56017af78f0eb480c670aefd2d50acd2ecffe083c7a0140891638b92dddca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f8a56017af78f0eb480c670aefd2d50acd2ecffe083c7a0140891638b92dddca", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f8a56017af78f0eb480c670aefd2d50acd2ecffe083c7a0140891638b92dddca", kill_on_drop: false }` [INFO] [stdout] f8a56017af78f0eb480c670aefd2d50acd2ecffe083c7a0140891638b92dddca [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cfa1db3f3b51ba629cf9e11ab7803b13dfcc5ef5ca5cc6281685b2b140795086 [INFO] running `Command { std: "docker" "start" "-a" "cfa1db3f3b51ba629cf9e11ab7803b13dfcc5ef5ca5cc6281685b2b140795086", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.101 [INFO] [stderr] Compiling quote v1.0.41 [INFO] [stderr] Compiling unicode-ident v1.0.19 [INFO] [stderr] Compiling libc v0.2.176 [INFO] [stderr] Compiling find-msvc-tools v0.1.2 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling cfg-if v1.0.3 [INFO] [stderr] Compiling serde_json v1.0.145 [INFO] [stderr] Compiling hashbrown v0.16.0 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling cc v1.2.39 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling memchr v2.7.6 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling chrono v0.4.42 [INFO] [stderr] Compiling indexmap v2.11.4 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling data-encoding v2.9.0 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling biscuit v0.7.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:309:19 [INFO] [stdout] | [INFO] [stdout] 309 | let rng = rand::SystemRandom::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | unused_qualifications, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 309 - let rng = rand::SystemRandom::new(); [INFO] [stdout] 309 + let rng = SystemRandom::new(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:338:23 [INFO] [stdout] | [INFO] [stdout] 338 | let rng = rand::SystemRandom::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 338 - let rng = rand::SystemRandom::new(); [INFO] [stdout] 338 + let rng = SystemRandom::new(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | use ring::constant_time::verify_slices_are_equal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 364 | verify_slices_are_equal(expected_signature, actual_signature.as_ref())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stdout] --> src/lib.rs:701:26 [INFO] [stdout] | [INFO] [stdout] 701 | DateTime::::from_utc( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/lib.rs:702:28 [INFO] [stdout] | [INFO] [stdout] 702 | NaiveDateTime::from_timestamp_opt(timestamp, 0).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stdout] --> src/lib.rs:724:39 [INFO] [stdout] | [INFO] [stdout] 724 | Ok(Timestamp(DateTime::::from_utc( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/lib.rs:725:28 [INFO] [stdout] | [INFO] [stdout] 725 | NaiveDateTime::from_timestamp_opt(timestamp, 0).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::max_value`: Use `TimeDelta::MAX` instead [INFO] [stdout] --> src/lib.rs:845:55 [INFO] [stdout] | [INFO] [stdout] 845 | issued_at: Validation::Validate(Duration::max_value()), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/serde_custom/base64_url_uint.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn wrap(data: &BigUint) -> Wrapper { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 51 | pub fn wrap(data: &BigUint) -> Wrapper<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/serde_custom/byte_sequence.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn wrap(data: &[u8]) -> Wrapper { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 47 | pub fn wrap(data: &[u8]) -> Wrapper<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.98s [INFO] running `Command { std: "docker" "inspect" "cfa1db3f3b51ba629cf9e11ab7803b13dfcc5ef5ca5cc6281685b2b140795086", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cfa1db3f3b51ba629cf9e11ab7803b13dfcc5ef5ca5cc6281685b2b140795086", kill_on_drop: false }` [INFO] [stdout] cfa1db3f3b51ba629cf9e11ab7803b13dfcc5ef5ca5cc6281685b2b140795086 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 13d3b92ab8125fa1631e2924593768d79265ed12dd1fcd19f08300798a3fb43d [INFO] running `Command { std: "docker" "start" "-a" "13d3b92ab8125fa1631e2924593768d79265ed12dd1fcd19f08300798a3fb43d", kill_on_drop: false }` [INFO] [stderr] Compiling serde_test v1.0.177 [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:309:19 [INFO] [stdout] | [INFO] [stdout] 309 | let rng = rand::SystemRandom::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | unused_qualifications, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 309 - let rng = rand::SystemRandom::new(); [INFO] [stdout] 309 + let rng = SystemRandom::new(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:338:23 [INFO] [stdout] | [INFO] [stdout] 338 | let rng = rand::SystemRandom::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 338 - let rng = rand::SystemRandom::new(); [INFO] [stdout] 338 + let rng = SystemRandom::new(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | use ring::constant_time::verify_slices_are_equal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 364 | verify_slices_are_equal(expected_signature, actual_signature.as_ref())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stdout] --> src/lib.rs:701:26 [INFO] [stdout] | [INFO] [stdout] 701 | DateTime::::from_utc( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/lib.rs:702:28 [INFO] [stdout] | [INFO] [stdout] 702 | NaiveDateTime::from_timestamp_opt(timestamp, 0).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stdout] --> src/lib.rs:724:39 [INFO] [stdout] | [INFO] [stdout] 724 | Ok(Timestamp(DateTime::::from_utc( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/lib.rs:725:28 [INFO] [stdout] | [INFO] [stdout] 725 | NaiveDateTime::from_timestamp_opt(timestamp, 0).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::max_value`: Use `TimeDelta::MAX` instead [INFO] [stdout] --> src/lib.rs:845:55 [INFO] [stdout] | [INFO] [stdout] 845 | issued_at: Validation::Validate(Duration::max_value()), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/serde_custom/base64_url_uint.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn wrap(data: &BigUint) -> Wrapper { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 51 | pub fn wrap(data: &BigUint) -> Wrapper<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/serde_custom/byte_sequence.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn wrap(data: &[u8]) -> Wrapper { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 47 | pub fn wrap(data: &[u8]) -> Wrapper<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling biscuit v0.7.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:309:19 [INFO] [stdout] | [INFO] [stdout] 309 | let rng = rand::SystemRandom::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | unused_qualifications, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 309 - let rng = rand::SystemRandom::new(); [INFO] [stdout] 309 + let rng = SystemRandom::new(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:338:23 [INFO] [stdout] | [INFO] [stdout] 338 | let rng = rand::SystemRandom::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 338 - let rng = rand::SystemRandom::new(); [INFO] [stdout] 338 + let rng = SystemRandom::new(); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:1267:40 [INFO] [stdout] | [INFO] [stdout] 1267 | let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1267 - let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stdout] 1267 + let cek = not_err!(cek_alg.cek(ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:1290:40 [INFO] [stdout] | [INFO] [stdout] 1290 | let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1290 - let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stdout] 1290 + let cek = not_err!(cek_alg.cek(ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:1296:40 [INFO] [stdout] | [INFO] [stdout] 1296 | let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1296 - let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stdout] 1296 + let cek = not_err!(cek_alg.cek(ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:1319:40 [INFO] [stdout] | [INFO] [stdout] 1319 | let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1319 - let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stdout] 1319 + let cek = not_err!(cek_alg.cek(ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:1325:40 [INFO] [stdout] | [INFO] [stdout] 1325 | let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1325 - let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stdout] 1325 + let cek = not_err!(cek_alg.cek(ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:1351:23 [INFO] [stdout] | [INFO] [stdout] 1351 | let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1351 - let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stdout] 1351 + let enc_alg = ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:1383:23 [INFO] [stdout] | [INFO] [stdout] 1383 | let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1383 - let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stdout] 1383 + let enc_alg = ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:1399:23 [INFO] [stdout] | [INFO] [stdout] 1399 | let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1399 - let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; [INFO] [stdout] 1399 + let enc_alg = ContentEncryptionAlgorithm::A128GCM; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:1407:23 [INFO] [stdout] | [INFO] [stdout] 1407 | let enc_alg = jwa::ContentEncryptionAlgorithm::A256GCM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1407 - let enc_alg = jwa::ContentEncryptionAlgorithm::A256GCM; [INFO] [stdout] 1407 + let enc_alg = ContentEncryptionAlgorithm::A256GCM; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:1432:23 [INFO] [stdout] | [INFO] [stdout] 1432 | let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1432 - let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; [INFO] [stdout] 1432 + let enc_alg = ContentEncryptionAlgorithm::A128GCM; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwa.rs:1460:23 [INFO] [stdout] | [INFO] [stdout] 1460 | let enc_alg = jwa::ContentEncryptionAlgorithm::A256GCM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 1460 - let enc_alg = jwa::ContentEncryptionAlgorithm::A256GCM; [INFO] [stdout] 1460 + let enc_alg = ContentEncryptionAlgorithm::A256GCM; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwe.rs:731:13 [INFO] [stdout] | [INFO] [stdout] 731 | jwa::KeyManagementAlgorithm::DirectSymmetricKey, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 731 - jwa::KeyManagementAlgorithm::DirectSymmetricKey, [INFO] [stdout] 731 + KeyManagementAlgorithm::DirectSymmetricKey, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary qualification [INFO] [stdout] --> src/jwe.rs:732:13 [INFO] [stdout] | [INFO] [stdout] 732 | jwa::ContentEncryptionAlgorithm::A256GCM, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the unnecessary path segments [INFO] [stdout] | [INFO] [stdout] 732 - jwa::ContentEncryptionAlgorithm::A256GCM, [INFO] [stdout] 732 + ContentEncryptionAlgorithm::A256GCM, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:10:26 [INFO] [stdout] | [INFO] [stdout] 10 | use ring::constant_time::verify_slices_are_equal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:364:9 [INFO] [stdout] | [INFO] [stdout] 364 | verify_slices_are_equal(expected_signature, actual_signature.as_ref())?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:792:30 [INFO] [stdout] | [INFO] [stdout] 792 | use ring::constant_time::verify_slices_are_equal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:1270:13 [INFO] [stdout] | [INFO] [stdout] 1270 | verify_slices_are_equal(cek.octet_key().unwrap(), key.octet_key().unwrap()).is_ok() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:1293:13 [INFO] [stdout] | [INFO] [stdout] 1293 | verify_slices_are_equal(cek.octet_key().unwrap(), key.octet_key().unwrap()).is_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:1299:13 [INFO] [stdout] | [INFO] [stdout] 1299 | verify_slices_are_equal(cek.octet_key().unwrap(), key.octet_key().unwrap()).is_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:1322:13 [INFO] [stdout] | [INFO] [stdout] 1322 | verify_slices_are_equal(cek.octet_key().unwrap(), key.octet_key().unwrap()).is_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:1328:13 [INFO] [stdout] | [INFO] [stdout] 1328 | verify_slices_are_equal(cek.octet_key().unwrap(), key.octet_key().unwrap()).is_err() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:1357:17 [INFO] [stdout] | [INFO] [stdout] 1357 | assert!(verify_slices_are_equal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:1389:17 [INFO] [stdout] | [INFO] [stdout] 1389 | assert!(verify_slices_are_equal( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:1437:17 [INFO] [stdout] | [INFO] [stdout] 1437 | assert!(verify_slices_are_equal(payload.as_bytes(), &decrypted_payload).is_ok()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stdout] --> src/jwa.rs:1465:17 [INFO] [stdout] | [INFO] [stdout] 1465 | assert!(verify_slices_are_equal(payload.as_bytes(), &decrypted_payload).is_ok()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stdout] --> src/lib.rs:701:26 [INFO] [stdout] | [INFO] [stdout] 701 | DateTime::::from_utc( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/lib.rs:702:28 [INFO] [stdout] | [INFO] [stdout] 702 | NaiveDateTime::from_timestamp_opt(timestamp, 0).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stdout] --> src/lib.rs:724:39 [INFO] [stdout] | [INFO] [stdout] 724 | Ok(Timestamp(DateTime::::from_utc( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stdout] --> src/lib.rs:725:28 [INFO] [stdout] | [INFO] [stdout] 725 | NaiveDateTime::from_timestamp_opt(timestamp, 0).unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::max_value`: Use `TimeDelta::MAX` instead [INFO] [stdout] --> src/lib.rs:845:55 [INFO] [stdout] | [INFO] [stdout] 845 | issued_at: Validation::Validate(Duration::max_value()), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::max_value`: Use `TimeDelta::MAX` instead [INFO] [stdout] --> src/lib.rs:1433:55 [INFO] [stdout] | [INFO] [stdout] 1433 | issued_at: Validation::Validate(Duration::max_value()), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::max_value`: Use `TimeDelta::MAX` instead [INFO] [stdout] --> src/lib.rs:1536:55 [INFO] [stdout] | [INFO] [stdout] 1536 | issued_at: Validation::Validate(Duration::max_value()), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `chrono::TimeDelta::max_value`: Use `TimeDelta::MAX` instead [INFO] [stdout] --> src/lib.rs:1564:55 [INFO] [stdout] | [INFO] [stdout] 1564 | issued_at: Validation::Validate(Duration::max_value()), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/serde_custom/base64_url_uint.rs:51:19 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn wrap(data: &BigUint) -> Wrapper { [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 51 | pub fn wrap(data: &BigUint) -> Wrapper<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/serde_custom/byte_sequence.rs:47:19 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn wrap(data: &[u8]) -> Wrapper { [INFO] [stdout] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 47 | pub fn wrap(data: &[u8]) -> Wrapper<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 7.65s [INFO] running `Command { std: "docker" "inspect" "13d3b92ab8125fa1631e2924593768d79265ed12dd1fcd19f08300798a3fb43d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "13d3b92ab8125fa1631e2924593768d79265ed12dd1fcd19f08300798a3fb43d", kill_on_drop: false }` [INFO] [stdout] 13d3b92ab8125fa1631e2924593768d79265ed12dd1fcd19f08300798a3fb43d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 98454a8ed4df3522005e46c6f43d6a8ab8db54f88bddeb536389a15d55386e39 [INFO] running `Command { std: "docker" "start" "-a" "98454a8ed4df3522005e46c6f43d6a8ab8db54f88bddeb536389a15d55386e39", kill_on_drop: false }` [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:309:19 [INFO] [stderr] | [INFO] [stderr] 309 | let rng = rand::SystemRandom::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 92 | unused_qualifications, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 309 - let rng = rand::SystemRandom::new(); [INFO] [stderr] 309 + let rng = SystemRandom::new(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:338:23 [INFO] [stderr] | [INFO] [stderr] 338 | let rng = rand::SystemRandom::new(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 338 - let rng = rand::SystemRandom::new(); [INFO] [stderr] 338 + let rng = SystemRandom::new(); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:10:26 [INFO] [stderr] | [INFO] [stderr] 10 | use ring::constant_time::verify_slices_are_equal; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:364:9 [INFO] [stderr] | [INFO] [stderr] 364 | verify_slices_are_equal(expected_signature, actual_signature.as_ref())?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stderr] --> src/lib.rs:701:26 [INFO] [stderr] | [INFO] [stderr] 701 | DateTime::::from_utc( [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stderr] --> src/lib.rs:702:28 [INFO] [stderr] | [INFO] [stderr] 702 | NaiveDateTime::from_timestamp_opt(timestamp, 0).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `chrono::DateTime::::from_utc`: Use TimeZone::from_utc_datetime() or DateTime::from_naive_utc_and_offset instead [INFO] [stderr] --> src/lib.rs:724:39 [INFO] [stderr] | [INFO] [stderr] 724 | Ok(Timestamp(DateTime::::from_utc( [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `chrono::NaiveDateTime::from_timestamp_opt`: use `DateTime::from_timestamp` instead [INFO] [stderr] --> src/lib.rs:725:28 [INFO] [stderr] | [INFO] [stderr] 725 | NaiveDateTime::from_timestamp_opt(timestamp, 0).unwrap(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `chrono::TimeDelta::max_value`: Use `TimeDelta::MAX` instead [INFO] [stderr] --> src/lib.rs:845:55 [INFO] [stderr] | [INFO] [stderr] 845 | issued_at: Validation::Validate(Duration::max_value()), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/serde_custom/base64_url_uint.rs:51:19 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn wrap(data: &BigUint) -> Wrapper { [INFO] [stderr] | ^^^^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 51 | pub fn wrap(data: &BigUint) -> Wrapper<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/serde_custom/byte_sequence.rs:47:19 [INFO] [stderr] | [INFO] [stderr] 47 | pub fn wrap(data: &[u8]) -> Wrapper { [INFO] [stderr] | ^^^^^ ^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 47 | pub fn wrap(data: &[u8]) -> Wrapper<'_> { [INFO] [stderr] | ++++ [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:1267:40 [INFO] [stderr] | [INFO] [stderr] 1267 | let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 1267 - let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stderr] 1267 + let cek = not_err!(cek_alg.cek(ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:1290:40 [INFO] [stderr] | [INFO] [stderr] 1290 | let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 1290 - let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stderr] 1290 + let cek = not_err!(cek_alg.cek(ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:1296:40 [INFO] [stderr] | [INFO] [stderr] 1296 | let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 1296 - let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stderr] 1296 + let cek = not_err!(cek_alg.cek(ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:1319:40 [INFO] [stderr] | [INFO] [stderr] 1319 | let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 1319 - let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stderr] 1319 + let cek = not_err!(cek_alg.cek(ContentEncryptionAlgorithm::A128GCM, &key)); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:1325:40 [INFO] [stderr] | [INFO] [stderr] 1325 | let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 1325 - let cek = not_err!(cek_alg.cek(jwa::ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stderr] 1325 + let cek = not_err!(cek_alg.cek(ContentEncryptionAlgorithm::A256GCM, &key)); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:1351:23 [INFO] [stderr] | [INFO] [stderr] 1351 | let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 1351 - let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stderr] 1351 + let enc_alg = ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:1383:23 [INFO] [stderr] | [INFO] [stderr] 1383 | let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 1383 - let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stderr] 1383 + let enc_alg = ContentEncryptionAlgorithm::A128GCM; // determines the CEK [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:1399:23 [INFO] [stderr] | [INFO] [stderr] 1399 | let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 1399 - let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; [INFO] [stderr] 1399 + let enc_alg = ContentEncryptionAlgorithm::A128GCM; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:1407:23 [INFO] [stderr] | [INFO] [stderr] 1407 | let enc_alg = jwa::ContentEncryptionAlgorithm::A256GCM; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 1407 - let enc_alg = jwa::ContentEncryptionAlgorithm::A256GCM; [INFO] [stderr] 1407 + let enc_alg = ContentEncryptionAlgorithm::A256GCM; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:1432:23 [INFO] [stderr] | [INFO] [stderr] 1432 | let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 1432 - let enc_alg = jwa::ContentEncryptionAlgorithm::A128GCM; [INFO] [stderr] 1432 + let enc_alg = ContentEncryptionAlgorithm::A128GCM; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwa.rs:1460:23 [INFO] [stderr] | [INFO] [stderr] 1460 | let enc_alg = jwa::ContentEncryptionAlgorithm::A256GCM; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 1460 - let enc_alg = jwa::ContentEncryptionAlgorithm::A256GCM; [INFO] [stderr] 1460 + let enc_alg = ContentEncryptionAlgorithm::A256GCM; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwe.rs:731:13 [INFO] [stderr] | [INFO] [stderr] 731 | jwa::KeyManagementAlgorithm::DirectSymmetricKey, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 731 - jwa::KeyManagementAlgorithm::DirectSymmetricKey, [INFO] [stderr] 731 + KeyManagementAlgorithm::DirectSymmetricKey, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary qualification [INFO] [stderr] --> src/jwe.rs:732:13 [INFO] [stderr] | [INFO] [stderr] 732 | jwa::ContentEncryptionAlgorithm::A256GCM, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: remove the unnecessary path segments [INFO] [stderr] | [INFO] [stderr] 732 - jwa::ContentEncryptionAlgorithm::A256GCM, [INFO] [stderr] 732 + ContentEncryptionAlgorithm::A256GCM, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:792:30 [INFO] [stderr] | [INFO] [stderr] 792 | use ring::constant_time::verify_slices_are_equal; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:1270:13 [INFO] [stderr] | [INFO] [stderr] 1270 | verify_slices_are_equal(cek.octet_key().unwrap(), key.octet_key().unwrap()).is_ok() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:1293:13 [INFO] [stderr] | [INFO] [stderr] 1293 | verify_slices_are_equal(cek.octet_key().unwrap(), key.octet_key().unwrap()).is_err() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:1299:13 [INFO] [stderr] | [INFO] [stderr] 1299 | verify_slices_are_equal(cek.octet_key().unwrap(), key.octet_key().unwrap()).is_err() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:1322:13 [INFO] [stderr] | [INFO] [stderr] 1322 | verify_slices_are_equal(cek.octet_key().unwrap(), key.octet_key().unwrap()).is_err() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:1328:13 [INFO] [stderr] | [INFO] [stderr] 1328 | verify_slices_are_equal(cek.octet_key().unwrap(), key.octet_key().unwrap()).is_err() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:1357:17 [INFO] [stderr] | [INFO] [stderr] 1357 | assert!(verify_slices_are_equal( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:1389:17 [INFO] [stderr] | [INFO] [stderr] 1389 | assert!(verify_slices_are_equal( [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:1437:17 [INFO] [stderr] | [INFO] [stderr] 1437 | assert!(verify_slices_are_equal(payload.as_bytes(), &decrypted_payload).is_ok()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated function `ring::deprecated_constant_time::verify_slices_are_equal`: To be removed. Internal function not intended for external use with no promises regarding side channels. [INFO] [stderr] --> src/jwa.rs:1465:17 [INFO] [stderr] | [INFO] [stderr] 1465 | assert!(verify_slices_are_equal(payload.as_bytes(), &decrypted_payload).is_ok()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `chrono::TimeDelta::max_value`: Use `TimeDelta::MAX` instead [INFO] [stderr] --> src/lib.rs:1433:55 [INFO] [stderr] | [INFO] [stderr] 1433 | issued_at: Validation::Validate(Duration::max_value()), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `chrono::TimeDelta::max_value`: Use `TimeDelta::MAX` instead [INFO] [stderr] --> src/lib.rs:1536:55 [INFO] [stderr] | [INFO] [stderr] 1536 | issued_at: Validation::Validate(Duration::max_value()), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `chrono::TimeDelta::max_value`: Use `TimeDelta::MAX` instead [INFO] [stderr] --> src/lib.rs:1564:55 [INFO] [stderr] | [INFO] [stderr] 1564 | issued_at: Validation::Validate(Duration::max_value()), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `biscuit` (lib) generated 11 warnings (run `cargo fix --lib -p biscuit` to apply 4 suggestions) [INFO] [stderr] warning: `biscuit` (lib test) generated 37 warnings (11 duplicates) (run `cargo fix --lib -p biscuit --tests` to apply 13 suggestions) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/biscuit-9de790ffe8fddce5) [INFO] [stdout] [INFO] [stdout] running 147 tests [INFO] [stdout] test jwa::tests::aes128gcm_key_length ... ok [INFO] [stdout] test jwa::tests::aes128gcm_encryption_round_trip ... ok [INFO] [stdout] test jwa::tests::aes256gcmkw_key_encryption_round_trip ... ok [INFO] [stdout] test jwa::tests::aes128gcmkw_key_encryption_round_trip ... ok [INFO] [stdout] test jwa::tests::aes_gcm_128_encryption_round_trip ... ok [INFO] [stdout] test jwa::tests::aes1256gcm_encryption_round_trip ... ok [INFO] [stdout] test jwa::tests::aes_gcm_128_encryption_round_trip_fixed_key_nonce ... ok [INFO] [stdout] test jwa::tests::aes_gcm_256_encryption_round_trip_fixed_key_nonce ... ok [INFO] [stdout] test jwa::tests::cek_aes128gcmkw_returns_right_key_length ... ok [INFO] [stdout] test jwa::tests::aes_gcm_256_encryption_round_trip ... ok [INFO] [stdout] test jwa::tests::aes256gcm_key_length ... ok [INFO] [stdout] test jwa::tests::dir_cek_returns_provided_key ... ok [INFO] [stdout] test jwa::tests::cek_aes256gcmkw_returns_right_key_length ... ok [INFO] [stdout] test jwa::tests::rng_is_created ... ok [INFO] [stdout] test jwa::tests::sign_and_verify_es256_round_trip ... ok [INFO] [stdout] test jwa::tests::sign_and_verify_es256_round_trip_with_keypair ... ok [INFO] [stdout] test jwa::tests::sign_and_verify_none ... ok [INFO] [stdout] test jwa::tests::sign_and_verify_ps256_round_trip ... ok [INFO] [stdout] test jwa::tests::sign_and_verify_ps256_round_trip_with_keypair ... ok [INFO] [stdout] test jwa::tests::sign_and_verify_rs256 ... ok [INFO] [stdout] test jwa::tests::sign_and_verify_rs256_key_params ... ok [INFO] [stdout] test jwa::tests::verify_es256 ... ok [INFO] [stdout] test jwa::tests::verify_es384 ... ok [INFO] [stdout] test jwa::tests::verify_ps256 ... ok [INFO] [stdout] test jwe::tests::compression_algorithm_json_serde ... ok [INFO] [stdout] test jwe::tests::compression_algorithm_serde_token ... ok [INFO] [stdout] test jwe::tests::custom_jwe_header_round_trip ... ok [INFO] [stdout] test jwa::tests::sign_and_verify_hs256 ... ok [INFO] [stdout] test jwa::tests::invalid_hs256 - should panic ... ok [INFO] [stdout] test jwa::tests::invalid_es256 - should panic ... ok [INFO] [stdout] test jwa::tests::invalid_ps256 - should panic ... ok [INFO] [stdout] test jwa::tests::invalid_rs256 - should panic ... ok [INFO] [stdout] test jwa::tests::verify_es512 - should panic ... ok [INFO] [stdout] test jwa::tests::invalid_none - should panic ... ok [INFO] [stdout] test jwe::tests::decrypt_with_incorrect_length - should panic ... ok [INFO] [stdout] test jwe::tests::decrypt_with_mismatch_cek_algorithm - should panic ... ok [INFO] [stdout] test jwe::tests::invalid_tag_for_aes256gcm - should panic ... ok [INFO] [stdout] test jwe::tests::jwe_a256gcmkw_a256gcm_jws_round_trip ... ok [INFO] [stdout] test jwe::tests::jwe_a256gcmkw_a256gcm_string_round_trip ... ok [INFO] [stdout] test jwe::tests::jwe_dir_aes256gcm_jws_round_trip ... ok [INFO] [stdout] test jwe::tests::jwe_header_round_trips ... ok [INFO] [stdout] test jwe::tests::jwe_interoperability_check ... ok [INFO] [stdout] test jwk::tests::jwk_ec_thumbprint ... ok [INFO] [stdout] test jwk::tests::jwk_oct_thumbprint ... ok [INFO] [stdout] test jwk::tests::jwk_okp_private_key_json_serde ... ok [INFO] [stdout] test jwe::tests::invalid_nonce_for_aes256gcmkw - should panic ... ok [INFO] [stdout] test jwk::tests::jwk_okp_public_key_json_serde ... ok [INFO] [stdout] test jwk::tests::jwk_okp_thumbprint ... ok [INFO] [stdout] test jwk::tests::jwk_rsa_thumbprint_normalization_gotcha ... ok [INFO] [stdout] test jwk::tests::jwk_rsa_thumbprint ... ok [INFO] [stdout] test jwe::tests::decrypt_with_mismatch_enc_algorithm - should panic ... ok [INFO] [stdout] test jwk::tests::jwk_set_find_some_test ... ok [INFO] [stdout] test jwk::tests::jwk_serde_smoke_test ... ok [INFO] [stdout] test jwk::tests::jwk_set_find_none_test ... ok [INFO] [stdout] test jwe::tests::invalid_modified_encrypted_nonce_for_aes256gcm - should panic ... ok [INFO] [stdout] test jwk::tests::key_operations_json_serde ... ok [INFO] [stdout] test jwk::tests::jwk_set_public_key_serde_test ... ok [INFO] [stdout] test jwe::tests::invalid_tag_for_aes256gcmkw - should panic ... ok [INFO] [stdout] test jwe::tests::invalid_modified_header_for_aes256gcm - should panic ... ok [INFO] [stdout] test jwk::tests::public_key_use_serde_token ... ok [INFO] [stdout] test jwk::tests::key_operations_serde_token ... ok [INFO] [stdout] test jwk::tests::public_key_use_json_serde ... ok [INFO] [stdout] test jwk::tests::jwk_set_private_key_serde_test ... ok [INFO] [stdout] test jwe::tests::invalid_modified_encrypted_cek_for_aes256gcm - should panic ... ok [INFO] [stdout] test jwk::tests::jwk_set_symmetric_key ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_token_wrong_algorithm - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_token_missing_parts - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_token_invalid_signature_hs256 - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_algorithm_not_supported - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_token_invalid_signature_rs256 - should panic ... ok [INFO] [stdout] test jwe::tests::invalid_modified_encrypted_payload_for_aes256gcm - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_key_not_found - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_kid_missing - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_missing_parts - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_shared_secret ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_shared_secret_matching_alg ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_missing_alg - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_rsa ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_wrong_algorithm - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_round_trip_hs256 ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_p256_invalid_signature - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_round_trip_hs256_for_bytes_payload ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_encode_with_additional_header_fields ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_verify_es256_jwks ... ok [INFO] [stdout] test jws::compact::tests::decoded_compact_jws_cannot_be_deserialized - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_without_alg ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_verify_es256 ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_without_alg_non_matching - should panic ... ok [INFO] [stdout] test jws::compact::tests::signature_is_returned_correctly ... ok [INFO] [stdout] test jws::compact::tests::decoded_compact_jws_cannot_be_serialized - should panic ... ok [INFO] [stdout] test jws::compact::tests::unverified_payload_is_returned_correctly ... ok [INFO] [stdout] test jws::flattened::tests::flattened_jws_decode_token_invalid_signature_rs256 - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_round_trip_none ... ok [INFO] [stdout] test jws::flattened::tests::flattened_jws_decode_token_invalid_signature_hs256 - should panic ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_round_trip_rs256 ... ok [INFO] [stdout] test jws::flattened::tests::flattened_jws_verify_es256 ... ok [INFO] [stdout] test jws::compact::tests::unverified_header_is_returned_correctly ... ok [INFO] [stdout] test jws::flattened::tests::flattened_jws_decode_token_wrong_algorithm - should panic ... ok [INFO] [stdout] test jws::flattened::tests::flattened_jws_encode_with_additional_header_fields ... ok [INFO] [stdout] test jws::compact::tests::compact_jws_decode_with_jwks_shared_secret_mismatched_alg - should panic ... ok [INFO] [stdout] test jws::flattened::tests::flattened_jws_round_trip_hs256 ... ok [INFO] [stdout] test jws::flattened::tests::flattened_jws_round_trip_none ... ok [INFO] [stdout] test jws::tests::header_serialization_round_trip_no_optional ... ok [INFO] [stdout] test jws::flattened::tests::flattened_jws_verify_reject_multiple_signatures - should panic ... ok [INFO] [stdout] test jws::flattened::tests::flattened_jws_verify_reject_unprotected_headers - should panic ... ok [INFO] [stdout] test serde_custom::option_base64_url_uint::tests::none_json_serialization_round_trip ... ok [INFO] [stdout] test serde_custom::option_base64_url_uint::tests::none_serialization_round_trip ... ok [INFO] [stdout] test jws::tests::header_serialization_round_trip_with_optional ... ok [INFO] [stdout] test serde_custom::base64_url_uint::tests::serialization_round_trip ... ok [INFO] [stdout] test serde_custom::byte_sequence::tests::serialization_round_trip ... ok [INFO] [stdout] test serde_custom::option_base64_url_uint::tests::some_serialization_round_trip ... ok [INFO] [stdout] test serde_custom::option_byte_sequence::tests::none_serialization_round_trip ... ok [INFO] [stdout] test serde_custom::option_base64_url_uint::tests::some_json_serialization_round_trip ... ok [INFO] [stdout] test tests::compact_part_vec_u8_round_trip ... ok [INFO] [stdout] test tests::duplicate_claims_round_trip ... ok [INFO] [stdout] test tests::empty_registered_claims_serialization_round_trip ... ok [INFO] [stdout] test serde_custom::option_byte_sequence::tests::none_json_serialization_round_trip ... ok [INFO] [stdout] test serde_custom::option_byte_sequence::tests::some_serialization_round_trip ... ok [INFO] [stdout] test tests::multiple_strings_serialization_round_trip ... ok [INFO] [stdout] test tests::claims_set_serialization_round_trip ... ok [INFO] [stdout] test serde_custom::option_byte_sequence::tests::some_json_serialization_round_trip ... ok [INFO] [stdout] test tests::compact_part_base64_url_round_trip ... ok [INFO] [stdout] test tests::single_string_serialization_round_trip ... ok [INFO] [stdout] test tests::compact_part_round_trip ... ok [INFO] [stdout] test tests::multiple_string_or_uri_serialization_round_trip ... ok [INFO] [stdout] test tests::registered_claims_serialization_round_trip ... ok [INFO] [stdout] test tests::single_string_or_uri_string_serialization_round_trip ... ok [INFO] [stdout] test tests::single_string_or_uri_uri_serialization_round_trip ... ok [INFO] [stdout] test tests::validate_issuer_catch_mismatch ... ok [INFO] [stdout] test tests::validate_times_catch_future_token ... ok [INFO] [stdout] test tests::timestamp_serialization_roundtrip ... ok [INFO] [stdout] test tests::validate_times_catch_early_token ... ok [INFO] [stdout] test tests::validate_audience_when_multiple ... ok [INFO] [stdout] test tests::validate_times_catch_expired_token ... ok [INFO] [stdout] test tests::validate_audience_when_single ... ok [INFO] [stdout] test tests::validate_times_catch_too_old_token ... ok [INFO] [stdout] test jws::flattened::tests::flattened_jws_round_trip_rs256 ... ok [INFO] [stdout] test tests::validate_times_valid_token_with_default_options ... ok [INFO] [stdout] test tests::validate_times_missing_aud - should panic ... ok [INFO] [stdout] test tests::validate_times_valid_token_with_epsilon ... ok [INFO] [stdout] test tests::validate_times_missing_iss - should panic ... ok [INFO] [stdout] test tests::validate_valid_token_with_all_required ... ok [INFO] [stdout] test tests::validate_times_missing_all - should panic ... ok [INFO] [stdout] test tests::validate_times_missing_nbf - should panic ... ok [INFO] [stdout] test tests::validate_times_missing_iat - should panic ... ok [INFO] [stdout] test tests::validate_times_missing_exp - should panic ... ok [INFO] [stdout] test tests::validate_times_missing_sub - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 147 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Doc-tests biscuit [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test src/jws.rs - jws::Secret::RsaKeyPair (line 56) ... ok [INFO] [stdout] test src/jws.rs - jws::Secret::Bytes (line 29) ... ok [INFO] [stdout] test src/jws/flattened.rs - jws::flattened::Signable (line 47) ... ok [INFO] [stdout] test src/jwk.rs - jwk::AlgorithmParameters::thumbprint (line 287) ... ok [INFO] [stdout] test src/jws.rs - jws::Secret::EcdsaKeyPair (line 72) ... ok [INFO] [stdout] test src/jws.rs - jws::Secret::PublicKey (line 150) ... ok [INFO] [stdout] test src/jws/flattened.rs - jws::flattened::SignedData::verify_flattened (line 215) ... ok [INFO] [stdout] test src/lib.rs - Empty (line 329) ... ok [INFO] [stdout] test src/jwe.rs - jwe::Compact (line 246) ... ok [INFO] [stdout] test src/jws/flattened.rs - jws::flattened::SignedData::sign (line 158) ... ok [INFO] [stdout] test src/lib.rs - JWE (line 221) ... ok [INFO] [stdout] test src/lib.rs - SingleOrMultiple (line 604) ... ok [INFO] [stdout] test src/lib.rs - JWT (line 148) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.20s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "98454a8ed4df3522005e46c6f43d6a8ab8db54f88bddeb536389a15d55386e39", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "98454a8ed4df3522005e46c6f43d6a8ab8db54f88bddeb536389a15d55386e39", kill_on_drop: false }` [INFO] [stdout] 98454a8ed4df3522005e46c6f43d6a8ab8db54f88bddeb536389a15d55386e39