[INFO] fetching crate wedpr-indy-crypto 0.4.5...
[INFO] testing wedpr-indy-crypto-0.4.5 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate wedpr-indy-crypto 0.4.5 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate wedpr-indy-crypto 0.4.5
[INFO] finished tweaking crates.io crate wedpr-indy-crypto 0.4.5
[INFO] tweaked toml for crates.io crate wedpr-indy-crypto 0.4.5 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate wedpr-indy-crypto 0.4.5 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-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-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 82 packages to latest compatible versions
[INFO] [stderr]       Adding amcl v0.1.3 (available: v0.2.0)
[INFO] [stderr]       Adding bincode v1.3.3 (available: v3.0.0)
[INFO] [stderr]       Adding env_logger v0.5.13 (available: v0.11.10)
[INFO] [stderr]       Adding rand v0.6.5 (available: v0.10.1)
[INFO] [stderr]       Adding sha2 v0.7.1 (available: v0.11.0)
[INFO] [stderr]       Adding sha3 v0.7.3 (available: v0.11.0)
[INFO] [stderr]       Adding time v0.1.45 (available: v0.3.47)
[INFO] [stderr]       Adding wasi v0.10.0+wasi-snapshot-preview1 (available: v0.10.2+wasi-snapshot-preview1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1ffd86965bfbfc1d15506271a4f68ea76ad304dd3ba094ae4ca9d6e13770abbb
[INFO] running `Command { std: "docker" "start" "-a" "1ffd86965bfbfc1d15506271a4f68ea76ad304dd3ba094ae4ca9d6e13770abbb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1ffd86965bfbfc1d15506271a4f68ea76ad304dd3ba094ae4ca9d6e13770abbb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1ffd86965bfbfc1d15506271a4f68ea76ad304dd3ba094ae4ca9d6e13770abbb", kill_on_drop: false }`
[INFO] [stdout] 1ffd86965bfbfc1d15506271a4f68ea76ad304dd3ba094ae4ca9d6e13770abbb
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b15580f1d918a574a8f051a3388c086de56fb7f06700f035ddf0ae82de50c608
[INFO] running `Command { std: "docker" "start" "-a" "b15580f1d918a574a8f051a3388c086de56fb7f06700f035ddf0ae82de50c608", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]    Compiling rand_core v0.4.2
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling byte-tools v0.2.0
[INFO] [stderr]    Compiling arrayref v0.3.9
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling generic-array v0.9.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling openssl v0.10.78
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling keccak v0.1.6
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling int_traits v0.1.1
[INFO] [stderr]    Compiling amcl v0.1.3
[INFO] [stderr]    Compiling block-buffer v0.3.3
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]    Compiling rand_core v0.3.1
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling rand_jitter v0.1.4
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling rand_isaac v0.1.1
[INFO] [stderr]    Compiling digest v0.7.6
[INFO] [stderr]    Compiling rand_hc v0.1.0
[INFO] [stderr]    Compiling rand_xorshift v0.1.1
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling sha2 v0.7.1
[INFO] [stderr]    Compiling sha3 v0.7.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling openssl-sys v0.9.114
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rand_os v0.1.3
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling env_logger v0.5.13
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling wedpr-indy-crypto v0.4.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BigNumberContext`
[INFO] [stdout]   --> src/cl/mod.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bn::{BigNumber, BigNumberContext};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cl/mod.rs:551:56
[INFO] [stdout]     |
[INFO] [stdout] 551 |     fn access_tail(&self, tail_id: u32, accessor: &mut FnMut(&Tail))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 551 |     fn access_tail(&self, tail_id: u32, accessor: &mut dyn FnMut(&Tail))
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cl/mod.rs:565:24
[INFO] [stdout]     |
[INFO] [stdout] 565 |         accessor: &mut FnMut(&Tail),
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 565 |         accessor: &mut dyn FnMut(&Tail),
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors/mod.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn cause(&self) -> Option<&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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cl/issuer.rs:1209:30
[INFO] [stdout]      |
[INFO] [stdout] 1209 |         rev_tails_accessor: &RevocationTailsAccessor,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1209 |         rev_tails_accessor: &dyn RevocationTailsAccessor,
[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/bn/openssl.rs:624:47
[INFO] [stdout]     |
[INFO] [stdout] 624 |         IndyCryptoError::InvalidStructure(err.description().to_string())
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[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/errors/mod.rs:164:54
[INFO] [stdout]     |
[INFO] [stdout] 164 |             IndyCryptoError::IOError(ref err) => err.description(),
[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/errors/mod.rs:231:43
[INFO] [stdout]     |
[INFO] [stdout] 231 |         IndyCryptoError::InvalidState(err.description().to_owned())
[INFO] [stdout]     |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cl/mod.rs:911:17
[INFO] [stdout]     |
[INFO] [stdout] 911 |             let mut attr_set: BTreeMap<String, BigNumber> = BTreeMap::new();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attr_set`
[INFO] [stdout]    --> src/cl/mod.rs:911:17
[INFO] [stdout]     |
[INFO] [stdout] 911 |             let mut attr_set: BTreeMap<String, BigNumber> = BTreeMap::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attr_set`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type
[INFO] [stdout]    --> src/cl/prover.rs:704:58
[INFO] [stdout]     |
[INFO] [stdout] 704 |                         && !p_pub_key.r.contains_key(attr.clone())
[INFO] [stdout]     |                                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type
[INFO] [stdout]    --> src/cl/prover.rs:717:89
[INFO] [stdout]     |
[INFO] [stdout] 717 |                 (value.is_known() || value.is_hidden()) && p_pub_key.r.contains_key(attr.clone())
[INFO] [stdout]     |                                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.96s
[INFO] running `Command { std: "docker" "inspect" "b15580f1d918a574a8f051a3388c086de56fb7f06700f035ddf0ae82de50c608", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b15580f1d918a574a8f051a3388c086de56fb7f06700f035ddf0ae82de50c608", kill_on_drop: false }`
[INFO] [stdout] b15580f1d918a574a8f051a3388c086de56fb7f06700f035ddf0ae82de50c608
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 499dcfb102088f295238d6193d3311aa78ce461031fd2cbadaa0af5548dd2e50
[INFO] running `Command { std: "docker" "start" "-a" "499dcfb102088f295238d6193d3311aa78ce461031fd2cbadaa0af5548dd2e50", kill_on_drop: false }`
[INFO] [stderr] warning: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stdout] warning: unused import: `BigNumberContext`
[INFO] [stdout]   --> src/cl/mod.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bn::{BigNumber, BigNumberContext};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cl/mod.rs:551:56
[INFO] [stdout]     |
[INFO] [stdout] 551 |     fn access_tail(&self, tail_id: u32, accessor: &mut FnMut(&Tail))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 551 |     fn access_tail(&self, tail_id: u32, accessor: &mut dyn FnMut(&Tail))
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cl/mod.rs:565:24
[INFO] [stdout]     |
[INFO] [stdout] 565 |         accessor: &mut FnMut(&Tail),
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 565 |         accessor: &mut dyn FnMut(&Tail),
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors/mod.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn cause(&self) -> Option<&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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cl/issuer.rs:1209:30
[INFO] [stdout]      |
[INFO] [stdout] 1209 |         rev_tails_accessor: &RevocationTailsAccessor,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1209 |         rev_tails_accessor: &dyn RevocationTailsAccessor,
[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/bn/openssl.rs:624:47
[INFO] [stdout]     |
[INFO] [stdout] 624 |         IndyCryptoError::InvalidStructure(err.description().to_string())
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[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/errors/mod.rs:164:54
[INFO] [stdout]     |
[INFO] [stdout] 164 |             IndyCryptoError::IOError(ref err) => err.description(),
[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/errors/mod.rs:231:43
[INFO] [stdout]     |
[INFO] [stdout] 231 |         IndyCryptoError::InvalidState(err.description().to_owned())
[INFO] [stdout]     |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cl/mod.rs:911:17
[INFO] [stdout]     |
[INFO] [stdout] 911 |             let mut attr_set: BTreeMap<String, BigNumber> = BTreeMap::new();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attr_set`
[INFO] [stdout]    --> src/cl/mod.rs:911:17
[INFO] [stdout]     |
[INFO] [stdout] 911 |             let mut attr_set: BTreeMap<String, BigNumber> = BTreeMap::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attr_set`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type
[INFO] [stdout]    --> src/cl/prover.rs:704:58
[INFO] [stdout]     |
[INFO] [stdout] 704 |                         && !p_pub_key.r.contains_key(attr.clone())
[INFO] [stdout]     |                                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type
[INFO] [stdout]    --> src/cl/prover.rs:717:89
[INFO] [stdout]     |
[INFO] [stdout] 717 |                 (value.is_known() || value.is_hidden()) && p_pub_key.r.contains_key(attr.clone())
[INFO] [stdout]     |                                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling wedpr-indy-crypto v0.4.5 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0463]: can't find crate for `indy_crypto`
[INFO] [stdout]  --> tests/cl.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | extern crate indy_crypto;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `wedpr-indy-crypto` (test "cl") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `BigNumberContext`
[INFO] [stdout]   --> src/cl/mod.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | use bn::{BigNumber, BigNumberContext};
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json`
[INFO] [stdout]     --> src/cl/mod.rs:1283:9
[INFO] [stdout]      |
[INFO] [stdout] 1283 |     use serde_json;
[INFO] [stdout]      |         ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cl/mod.rs:551:56
[INFO] [stdout]     |
[INFO] [stdout] 551 |     fn access_tail(&self, tail_id: u32, accessor: &mut FnMut(&Tail))
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 551 |     fn access_tail(&self, tail_id: u32, accessor: &mut dyn FnMut(&Tail))
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/cl/mod.rs:565:24
[INFO] [stdout]     |
[INFO] [stdout] 565 |         accessor: &mut FnMut(&Tail),
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 565 |         accessor: &mut dyn FnMut(&Tail),
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/errors/mod.rs:174:32
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn cause(&self) -> Option<&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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 174 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]     --> src/cl/issuer.rs:1209:30
[INFO] [stdout]      |
[INFO] [stdout] 1209 |         rev_tails_accessor: &RevocationTailsAccessor,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]      |
[INFO] [stdout] 1209 |         rev_tails_accessor: &dyn RevocationTailsAccessor,
[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/bn/openssl.rs:624:47
[INFO] [stdout]     |
[INFO] [stdout] 624 |         IndyCryptoError::InvalidStructure(err.description().to_string())
[INFO] [stdout]     |                                               ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[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/errors/mod.rs:164:54
[INFO] [stdout]     |
[INFO] [stdout] 164 |             IndyCryptoError::IOError(ref err) => err.description(),
[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/errors/mod.rs:231:43
[INFO] [stdout]     |
[INFO] [stdout] 231 |         IndyCryptoError::InvalidState(err.description().to_owned())
[INFO] [stdout]     |                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/cl/mod.rs:911:17
[INFO] [stdout]     |
[INFO] [stdout] 911 |             let mut attr_set: BTreeMap<String, BigNumber> = BTreeMap::new();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `attr_set`
[INFO] [stdout]    --> src/cl/mod.rs:911:17
[INFO] [stdout]     |
[INFO] [stdout] 911 |             let mut attr_set: BTreeMap<String, BigNumber> = BTreeMap::new();
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_attr_set`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type
[INFO] [stdout]    --> src/cl/prover.rs:704:58
[INFO] [stdout]     |
[INFO] [stdout] 704 |                         && !p_pub_key.r.contains_key(attr.clone())
[INFO] [stdout]     |                                                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(suspicious_double_ref_op)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&std::string::String` instead of cloning the inner type
[INFO] [stdout]    --> src/cl/prover.rs:717:89
[INFO] [stdout]     |
[INFO] [stdout] 717 |                 (value.is_known() || value.is_hidden()) && p_pub_key.r.contains_key(attr.clone())
[INFO] [stdout]     |                                                                                         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "499dcfb102088f295238d6193d3311aa78ce461031fd2cbadaa0af5548dd2e50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "499dcfb102088f295238d6193d3311aa78ce461031fd2cbadaa0af5548dd2e50", kill_on_drop: false }`
[INFO] [stdout] 499dcfb102088f295238d6193d3311aa78ce461031fd2cbadaa0af5548dd2e50
