[INFO] cloning repository https://github.com/ash3699/Zone-Encryption-RUST
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ash3699/Zone-Encryption-RUST" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fash3699%2FZone-Encryption-RUST", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fash3699%2FZone-Encryption-RUST'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d7707f993dc3fc919fcb9b399c1e6f3d61d674c0
[INFO] checking ash3699/Zone-Encryption-RUST against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fash3699%2FZone-Encryption-RUST" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ash3699/Zone-Encryption-RUST
[INFO] finished tweaking git repo https://github.com/ash3699/Zone-Encryption-RUST
[INFO] tweaked toml for git repo https://github.com/ash3699/Zone-Encryption-RUST written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ash3699/Zone-Encryption-RUST on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ash3699/Zone-Encryption-RUST already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded blake2s_simd v1.0.2
[INFO] [stderr]   Downloaded ctr v0.6.0
[INFO] [stderr]   Downloaded aes-gcm-siv v0.9.0
[INFO] [stderr]   Downloaded bellman v0.14.0
[INFO] [stderr]   Downloaded aes v0.6.0
[INFO] [stderr]   Downloaded pairing v0.14.2
[INFO] [stderr]   Downloaded aesni v0.10.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5a37652efeab035e7216882408511b4ae66ec273e2fcbcfd51af474d0f96eefc
[INFO] running `Command { std: "docker" "start" "-a" "5a37652efeab035e7216882408511b4ae66ec273e2fcbcfd51af474d0f96eefc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5a37652efeab035e7216882408511b4ae66ec273e2fcbcfd51af474d0f96eefc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5a37652efeab035e7216882408511b4ae66ec273e2fcbcfd51af474d0f96eefc", kill_on_drop: false }`
[INFO] [stdout] 5a37652efeab035e7216882408511b4ae66ec273e2fcbcfd51af474d0f96eefc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 84153f3ec1269c823df1dc108f8bcdfb8243a07aabd5521c9aefdb3e32f96339
[INFO] running `Command { std: "docker" "start" "-a" "84153f3ec1269c823df1dc108f8bcdfb8243a07aabd5521c9aefdb3e32f96339", kill_on_drop: false }`
[INFO] [stderr]     Checking subtle v2.6.1
[INFO] [stderr]     Checking either v1.13.0
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]     Checking arrayref v0.3.8
[INFO] [stderr]     Checking cpuid-bool v0.2.0
[INFO] [stderr]     Checking zeroize v1.8.1
[INFO] [stderr]     Checking mcore v0.1.0 (/opt/rustwide/workdir/mcore)
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking cipher v0.2.5
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking aead v0.3.2
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking blake2s_simd v1.0.2
[INFO] [stderr]     Checking universal-hash v0.4.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking aes-soft v0.6.4
[INFO] [stderr]     Checking ctr v0.6.0
[INFO] [stderr]     Checking polyval v0.4.5
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking ff v0.13.0
[INFO] [stderr]     Checking aes v0.6.0
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking aes-gcm-siv v0.9.0
[INFO] [stderr]     Checking pairing v0.23.0
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking pairing v0.14.2
[INFO] [stderr]     Checking bellman v0.14.0
[INFO] [stderr]     Checking miracl01 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp::ECP`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use mcore::bn254::ecp::ECP;
[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: `Duration`
[INFO] [stdout]   --> src/main.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `HashMap`, and `HashSet`
[INFO] [stdout]   --> src/main.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 |     borrow::{Borrow, BorrowMut},
[INFO] [stdout]    |              ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 29 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IAPublicKey`, `add_fr_fr`, `gen_random_fr`, `minus_fr_fr`, `mul_fr_fr`, and `mul_g1_fr`
[INFO] [stdout]   --> src/main.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | use util::{add_fr_fr, gen_random_fr, minus_fr_fr, mul_fr_fr, mul_g1_fr, IAPublicKey};
[INFO] [stdout]    |            ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DGSA::keygen`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use DGSA::keygen;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pairing::bls12_381::*`
[INFO] [stdout]  --> src/BLS.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pairing::bls12_381::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pairing::*`
[INFO] [stdout]  --> src/BLS.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use pairing::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SeedableRng` and `XorShiftRng`
[INFO] [stdout]   --> src/BLS.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::{SeedableRng, XorShiftRng};
[INFO] [stdout]    |            ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/BLS.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::dbig::DBIG`
[INFO] [stdout]   --> src/BLS.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use mcore::bn254::dbig::DBIG;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp`
[INFO] [stdout]   --> src/BLS.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use mcore::bn254::ecp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp`
[INFO] [stdout]   --> src/BLS.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use mcore::bn254::fp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp12::FP12`
[INFO] [stdout]   --> src/BLS.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use mcore::bn254::fp12::FP12;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::pair`
[INFO] [stdout]   --> src/BLS.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use mcore::bn254::pair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::rom`
[INFO] [stdout]   --> src/BLS.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use mcore::bn254::rom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RAND_impl` and `RAND`
[INFO] [stdout]   --> src/BLS.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | use mcore::rand::{RAND,RAND_impl};
[INFO] [stdout]    |                   ^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/BLS.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bit_vec::BitVec`
[INFO] [stdout]   --> src/BLS.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use bit_vec::BitVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Digest` and `Sha256`
[INFO] [stdout]   --> src/BLS.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |            ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/BLS.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::generic_array::GenericArray`
[INFO] [stdout]   --> src/BLS.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use sha2::digest::generic_array::GenericArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::aead::NewAead`
[INFO] [stdout]   --> src/BLS.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use aes_gcm_siv::aead::NewAead;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::Aes128GcmSiv`
[INFO] [stdout]   --> src/BLS.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use aes_gcm_siv::Aes128GcmSiv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rand`
[INFO] [stdout]   --> src/BLS.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | use rand::{Rand};
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/BLS.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pairing::bls12_381::G2`
[INFO] [stdout]  --> src/DAE.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pairing::bls12_381::G2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SeedableRng`
[INFO] [stdout]  --> src/DGSA.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{SeedableRng, XorShiftRng};
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/DGSA.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/DGSA.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::util::{self, *};
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/DGSA.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::dbig::DBIG`
[INFO] [stdout]   --> src/DGSA.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use mcore::bn254::dbig::DBIG;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp`
[INFO] [stdout]   --> src/DGSA.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use mcore::bn254::fp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp12::FP12`
[INFO] [stdout]   --> src/DGSA.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use mcore::bn254::fp12::FP12;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::pair`
[INFO] [stdout]   --> src/DGSA.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use mcore::bn254::pair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::rom`
[INFO] [stdout]   --> src/DGSA.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use mcore::bn254::rom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RAND_impl` and `RAND`
[INFO] [stdout]   --> src/DGSA.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | use mcore::rand::{RAND,RAND_impl};
[INFO] [stdout]    |                   ^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/DGSA.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bit_vec::BitVec`
[INFO] [stdout]   --> src/DGSA.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use bit_vec::BitVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Digest` and `Sha256`
[INFO] [stdout]   --> src/DGSA.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |            ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/DGSA.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::generic_array::GenericArray`
[INFO] [stdout]   --> src/DGSA.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use sha2::digest::generic_array::GenericArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::aead::NewAead`
[INFO] [stdout]   --> src/DGSA.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use aes_gcm_siv::aead::NewAead;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::Aes128GcmSiv`
[INFO] [stdout]   --> src/DGSA.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use aes_gcm_siv::Aes128GcmSiv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/DGSA.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rand`
[INFO] [stdout]   --> src/DGSA.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | use rand::{Rand};
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `SeedableRng`, and `XorShiftRng`
[INFO] [stdout]  --> src/EA.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, SeedableRng, XorShiftRng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/EA.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/EA.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/EA.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/EA.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::dbig::DBIG`
[INFO] [stdout]   --> src/EA.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use mcore::bn254::dbig::DBIG;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp`
[INFO] [stdout]   --> src/EA.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use mcore::bn254::ecp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp`
[INFO] [stdout]   --> src/EA.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use mcore::bn254::fp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp12::FP12`
[INFO] [stdout]   --> src/EA.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use mcore::bn254::fp12::FP12;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::pair`
[INFO] [stdout]   --> src/EA.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use mcore::bn254::pair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::rom`
[INFO] [stdout]   --> src/EA.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use mcore::bn254::rom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RAND_impl` and `RAND`
[INFO] [stdout]   --> src/EA.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | use mcore::rand::{RAND,RAND_impl};
[INFO] [stdout]    |                   ^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bit_vec::BitVec`
[INFO] [stdout]   --> src/EA.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use bit_vec::BitVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sha256`
[INFO] [stdout]   --> src/EA.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/EA.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::generic_array::GenericArray`
[INFO] [stdout]   --> src/EA.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use sha2::digest::generic_array::GenericArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::Aes128GcmSiv`
[INFO] [stdout]   --> src/EA.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use aes_gcm_siv::Aes128GcmSiv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/EA.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rand`
[INFO] [stdout]   --> src/EA.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use rand::Rand;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CertV`, `combine_vec_u128`, `g2_to_vec_u128`, `gen_random_fr`, and `mul_g1_fr`
[INFO] [stdout]  --> src/IA.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         combine_vec_u128, g2_to_vec_u128, gen_random_fr, mul_g1_fr, CertV, IAPublicKey, IASecretKey, fr_zero
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `SeedableRng`
[INFO] [stdout]   --> src/IA.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rand::{Rng, SeedableRng, XorShiftRng};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `option`
[INFO] [stdout]   --> src/IA.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 16 |     option,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/IA.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp`
[INFO] [stdout]   --> src/IA.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use mcore::bn254::ecp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]  --> src/PKE.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use mcore::bn254::big;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp`
[INFO] [stdout]   --> src/PKE.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use mcore::bn254::ecp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp::ECP`
[INFO] [stdout]   --> src/PKE.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use mcore::bn254::ecp::ECP;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BLS`, `combine_vec_u128`, `g2_to_vec_u128`, and `mul_g1_fr`
[INFO] [stdout]  --> src/Zone.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 |     util::{self, combine_vec_u128, g2_to_vec_u128, gen_random_fr, mul_g1_fr},
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^                 ^^^^^^^^^
[INFO] [stdout] 8 |     BLS, DAE,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `SeedableRng`, and `XorShiftRng`
[INFO] [stdout]   --> src/Zone.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::{Rng, SeedableRng, XorShiftRng};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> src/Zone.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/Zone.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/Zone.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/Zone.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big::BIG`
[INFO] [stdout]   --> src/Zone.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use mcore::bn254::big::BIG;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp`
[INFO] [stdout]   --> src/Zone.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use mcore::bn254::ecp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp::ECP`
[INFO] [stdout]   --> src/Zone.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use mcore::bn254::ecp::ECP;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/Zone.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 |     ) -> (GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>) {
[INFO] [stdout]    |          ^                                                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 53 -     ) -> (GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>) {
[INFO] [stdout] 53 +     ) -> GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/util.rs:438:50
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> (BIG) {
[INFO] [stdout]     |                                                  ^   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 438 - pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> (BIG) {
[INFO] [stdout] 438 + pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> BIG  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PS_sk` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:600:12
[INFO] [stdout]     |
[INFO] [stdout] 600 | pub struct PS_sk {
[INFO] [stdout]     |            ^^^^^ help: convert the identifier to upper camel case: `PsSk`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PS_pk` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:604:12
[INFO] [stdout]     |
[INFO] [stdout] 604 | pub struct PS_pk {
[INFO] [stdout]     |            ^^^^^ help: convert the identifier to upper camel case: `PsPk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `combine_vec_u128`, `g2_to_vec_u128`, `gen_random_fr`, and `mul_g1_fr`
[INFO] [stdout]  --> src/vehicle.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     util::{self, combine_vec_u128, g2_to_vec_u128, gen_random_fr, mul_g1_fr, CertV, IAPublicKey, fr_zero},
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Payload`
[INFO] [stdout]   --> src/vehicle.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 |     aead::{Aead, NewAead, Payload},
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SeedableRng`
[INFO] [stdout]   --> src/vehicle.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng, SeedableRng, XorShiftRng};
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/vehicle.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/vehicle.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`, and `string`
[INFO] [stdout]   --> src/vehicle.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 23 |     string,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/vehicle.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp::ECP`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use mcore::bn254::ecp::ECP;
[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: `Duration`
[INFO] [stdout]   --> src/main.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/main.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut`, `Borrow`, `HashMap`, and `HashSet`
[INFO] [stdout]   --> src/main.rs:28:14
[INFO] [stdout]    |
[INFO] [stdout] 28 |     borrow::{Borrow, BorrowMut},
[INFO] [stdout]    |              ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 29 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IAPublicKey`, `add_fr_fr`, `gen_random_fr`, `minus_fr_fr`, `mul_fr_fr`, and `mul_g1_fr`
[INFO] [stdout]   --> src/main.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | use util::{add_fr_fr, gen_random_fr, minus_fr_fr, mul_fr_fr, mul_g1_fr, IAPublicKey};
[INFO] [stdout]    |            ^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DGSA::keygen`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use DGSA::keygen;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pairing::bls12_381::*`
[INFO] [stdout]  --> src/BLS.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pairing::bls12_381::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pairing::*`
[INFO] [stdout]  --> src/BLS.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use pairing::*;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `SeedableRng` and `XorShiftRng`
[INFO] [stdout]   --> src/BLS.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rand::{SeedableRng, XorShiftRng};
[INFO] [stdout]    |            ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/BLS.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::dbig::DBIG`
[INFO] [stdout]   --> src/BLS.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use mcore::bn254::dbig::DBIG;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp`
[INFO] [stdout]   --> src/BLS.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use mcore::bn254::ecp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp`
[INFO] [stdout]   --> src/BLS.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use mcore::bn254::fp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp12::FP12`
[INFO] [stdout]   --> src/BLS.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use mcore::bn254::fp12::FP12;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::pair`
[INFO] [stdout]   --> src/BLS.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use mcore::bn254::pair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::rom`
[INFO] [stdout]   --> src/BLS.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use mcore::bn254::rom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RAND_impl` and `RAND`
[INFO] [stdout]   --> src/BLS.rs:28:19
[INFO] [stdout]    |
[INFO] [stdout] 28 | use mcore::rand::{RAND,RAND_impl};
[INFO] [stdout]    |                   ^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/BLS.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bit_vec::BitVec`
[INFO] [stdout]   --> src/BLS.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use bit_vec::BitVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Digest` and `Sha256`
[INFO] [stdout]   --> src/BLS.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |            ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/BLS.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::generic_array::GenericArray`
[INFO] [stdout]   --> src/BLS.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use sha2::digest::generic_array::GenericArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::aead::NewAead`
[INFO] [stdout]   --> src/BLS.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use aes_gcm_siv::aead::NewAead;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::Aes128GcmSiv`
[INFO] [stdout]   --> src/BLS.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use aes_gcm_siv::Aes128GcmSiv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rand`
[INFO] [stdout]   --> src/BLS.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | use rand::{Rand};
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/BLS.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pairing::bls12_381::G2`
[INFO] [stdout]  --> src/DAE.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use pairing::bls12_381::G2;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SeedableRng`
[INFO] [stdout]  --> src/DGSA.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{SeedableRng, XorShiftRng};
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]  --> src/DGSA.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::time::{Duration, Instant};
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]   --> src/DGSA.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::util::{self, *};
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/DGSA.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::dbig::DBIG`
[INFO] [stdout]   --> src/DGSA.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use mcore::bn254::dbig::DBIG;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp`
[INFO] [stdout]   --> src/DGSA.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use mcore::bn254::fp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp12::FP12`
[INFO] [stdout]   --> src/DGSA.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use mcore::bn254::fp12::FP12;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::pair`
[INFO] [stdout]   --> src/DGSA.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use mcore::bn254::pair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::rom`
[INFO] [stdout]   --> src/DGSA.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use mcore::bn254::rom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RAND_impl` and `RAND`
[INFO] [stdout]   --> src/DGSA.rs:25:19
[INFO] [stdout]    |
[INFO] [stdout] 25 | use mcore::rand::{RAND,RAND_impl};
[INFO] [stdout]    |                   ^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rng`
[INFO] [stdout]   --> src/DGSA.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use rand::Rng;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bit_vec::BitVec`
[INFO] [stdout]   --> src/DGSA.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use bit_vec::BitVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Digest` and `Sha256`
[INFO] [stdout]   --> src/DGSA.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |            ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/DGSA.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::generic_array::GenericArray`
[INFO] [stdout]   --> src/DGSA.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use sha2::digest::generic_array::GenericArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::aead::NewAead`
[INFO] [stdout]   --> src/DGSA.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use aes_gcm_siv::aead::NewAead;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::Aes128GcmSiv`
[INFO] [stdout]   --> src/DGSA.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use aes_gcm_siv::Aes128GcmSiv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/DGSA.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rand`
[INFO] [stdout]   --> src/DGSA.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | use rand::{Rand};
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `SeedableRng`, and `XorShiftRng`
[INFO] [stdout]  --> src/EA.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{Rng, SeedableRng, XorShiftRng};
[INFO] [stdout]   |            ^^^  ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/EA.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/EA.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/EA.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/EA.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::dbig::DBIG`
[INFO] [stdout]   --> src/EA.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use mcore::bn254::dbig::DBIG;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp`
[INFO] [stdout]   --> src/EA.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use mcore::bn254::ecp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp`
[INFO] [stdout]   --> src/EA.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use mcore::bn254::fp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::fp12::FP12`
[INFO] [stdout]   --> src/EA.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | use mcore::bn254::fp12::FP12;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::pair`
[INFO] [stdout]   --> src/EA.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use mcore::bn254::pair;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::rom`
[INFO] [stdout]   --> src/EA.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use mcore::bn254::rom;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `RAND_impl` and `RAND`
[INFO] [stdout]   --> src/EA.rs:29:19
[INFO] [stdout]    |
[INFO] [stdout] 29 | use mcore::rand::{RAND,RAND_impl};
[INFO] [stdout]    |                   ^^^^ ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bit_vec::BitVec`
[INFO] [stdout]   --> src/EA.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | use bit_vec::BitVec;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Sha256`
[INFO] [stdout]   --> src/EA.rs:32:20
[INFO] [stdout]    |
[INFO] [stdout] 32 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/EA.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sha2::digest::generic_array::GenericArray`
[INFO] [stdout]   --> src/EA.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use sha2::digest::generic_array::GenericArray;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::Aes128GcmSiv`
[INFO] [stdout]   --> src/EA.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | use aes_gcm_siv::Aes128GcmSiv;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/EA.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::Rand`
[INFO] [stdout]   --> src/EA.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use rand::Rand;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CertV`, `combine_vec_u128`, `g2_to_vec_u128`, `gen_random_fr`, and `mul_g1_fr`
[INFO] [stdout]  --> src/IA.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |         combine_vec_u128, g2_to_vec_u128, gen_random_fr, mul_g1_fr, CertV, IAPublicKey, IASecretKey, fr_zero
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `SeedableRng`
[INFO] [stdout]   --> src/IA.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rand::{Rng, SeedableRng, XorShiftRng};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `option`
[INFO] [stdout]   --> src/IA.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 16 |     option,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/IA.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp`
[INFO] [stdout]   --> src/IA.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use mcore::bn254::ecp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]  --> src/PKE.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use mcore::bn254::big;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp`
[INFO] [stdout]   --> src/PKE.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use mcore::bn254::ecp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp::ECP`
[INFO] [stdout]   --> src/PKE.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use mcore::bn254::ecp::ECP;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BLS`, `combine_vec_u128`, `g2_to_vec_u128`, and `mul_g1_fr`
[INFO] [stdout]  --> src/Zone.rs:7:18
[INFO] [stdout]   |
[INFO] [stdout] 7 |     util::{self, combine_vec_u128, g2_to_vec_u128, gen_random_fr, mul_g1_fr},
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^                 ^^^^^^^^^
[INFO] [stdout] 8 |     BLS, DAE,
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng`, `SeedableRng`, and `XorShiftRng`
[INFO] [stdout]   --> src/Zone.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::{Rng, SeedableRng, XorShiftRng};
[INFO] [stdout]    |            ^^^  ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> src/Zone.rs:13:24
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/Zone.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/Zone.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/Zone.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big::BIG`
[INFO] [stdout]   --> src/Zone.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use mcore::bn254::big::BIG;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp`
[INFO] [stdout]   --> src/Zone.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use mcore::bn254::ecp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::ecp::ECP`
[INFO] [stdout]   --> src/Zone.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use mcore::bn254::ecp::ECP;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/Zone.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 |     ) -> (GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>) {
[INFO] [stdout]    |          ^                                                    ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 53 -     ) -> (GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>) {
[INFO] [stdout] 53 +     ) -> GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/util.rs:438:50
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> (BIG) {
[INFO] [stdout]     |                                                  ^   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 438 - pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> (BIG) {
[INFO] [stdout] 438 + pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> BIG  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PS_sk` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:600:12
[INFO] [stdout]     |
[INFO] [stdout] 600 | pub struct PS_sk {
[INFO] [stdout]     |            ^^^^^ help: convert the identifier to upper camel case: `PsSk`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `PS_pk` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:604:12
[INFO] [stdout]     |
[INFO] [stdout] 604 | pub struct PS_pk {
[INFO] [stdout]     |            ^^^^^ help: convert the identifier to upper camel case: `PsPk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `combine_vec_u128`, `g2_to_vec_u128`, `gen_random_fr`, and `mul_g1_fr`
[INFO] [stdout]  --> src/vehicle.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 |     util::{self, combine_vec_u128, g2_to_vec_u128, gen_random_fr, mul_g1_fr, CertV, IAPublicKey, fr_zero},
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Payload`
[INFO] [stdout]   --> src/vehicle.rs:10:27
[INFO] [stdout]    |
[INFO] [stdout] 10 |     aead::{Aead, NewAead, Payload},
[INFO] [stdout]    |                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SeedableRng`
[INFO] [stdout]   --> src/vehicle.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{Rng, SeedableRng, XorShiftRng};
[INFO] [stdout]    |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem`
[INFO] [stdout]   --> src/vehicle.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::mem;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/vehicle.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap`, `HashSet`, and `string`
[INFO] [stdout]   --> src/vehicle.rs:22:19
[INFO] [stdout]    |
[INFO] [stdout] 22 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 23 |     string,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `mcore::bn254::big`
[INFO] [stdout]   --> src/vehicle.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use mcore::bn254::big;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/BLS.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/EA.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::aead::NewAead`
[INFO] [stdout]   --> src/EA.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use aes_gcm_siv::aead::NewAead;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/DGSA.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn keygen( k: usize) -> (BIG, BIG, BIG, BIG, ECP2, ECP2, ECP2, ECP2, ECP2) {
[INFO] [stdout]    |                ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ek_u128_vec`
[INFO] [stdout]    --> src/DGSA.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let ek_u128_vec = convert_g2_to_fr(&ek);
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ek_u128_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/DGSA.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     rng: &mut XorShiftRng,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/DGSA.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let mut epoch_neg = fr_inv(&mut temp);
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/EA.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let mut set: HashSet<u128> = HashSet::new();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sig`
[INFO] [stdout]   --> src/EA.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |         if let Some(sig) = &signature_e {
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_sig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/IA.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut set_i: HashMap<(u128, u128), BIG> = HashMap::new();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/IA.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         mut rng: &mut XorShiftRng,
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/IA.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         mut rng: &mut XorShiftRng,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/PKE.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn pke_key_gen(rng: &mut XorShiftRng) -> (ECP2, BIG) {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 |     let mut neg = big::BIG::fromstring(i.to_string());
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `itertools::Itertools`
[INFO] [stdout]   --> src/BLS.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | use itertools::Itertools;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/EA.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | use sha2::{Digest, Sha256};
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `aes_gcm_siv::aead::NewAead`
[INFO] [stdout]   --> src/EA.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use aes_gcm_siv::aead::NewAead;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     let mut combined_bits = BitVec::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `combined_bits`
[INFO] [stdout]    --> src/util.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     let mut combined_bits = BitVec::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_combined_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util.rs:434:9
[INFO] [stdout]     |
[INFO] [stdout] 434 |     let mut ek_u128 = combine_vec_u128(&ek_u128_vec);
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `k`
[INFO] [stdout]   --> src/DGSA.rs:39:16
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn keygen( k: usize) -> (BIG, BIG, BIG, BIG, ECP2, ECP2, ECP2, ECP2, ECP2) {
[INFO] [stdout]    |                ^ help: if this is intentional, prefix it with an underscore: `_k`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ek_u128_vec`
[INFO] [stdout]    --> src/DGSA.rs:106:9
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let ek_u128_vec = convert_g2_to_fr(&ek);
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ek_u128_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/DGSA.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     rng: &mut XorShiftRng,
[INFO] [stdout]     |     ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/DGSA.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let mut epoch_neg = fr_inv(&mut temp);
[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: `rng`
[INFO] [stdout]   --> src/vehicle.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn Veh_key_gen(&mut self, rng: &mut XorShiftRng, id: u128) {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/EA.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let mut set: HashSet<u128> = HashSet::new();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sig`
[INFO] [stdout]   --> src/EA.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |         if let Some(sig) = &signature_e {
[INFO] [stdout]    |                     ^^^ help: if this is intentional, prefix it with an underscore: `_sig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/IA.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |         let mut set_i: HashMap<(u128, u128), BIG> = HashMap::new();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/vehicle.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |         if let sig = &signature_epoch {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sig`
[INFO] [stdout]   --> src/vehicle.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 83 |         if let sig = &signature_epoch {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_sig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/IA.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         mut rng: &mut XorShiftRng,
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/IA.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |         mut rng: &mut XorShiftRng,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/PKE.rs:17:20
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub fn pke_key_gen(rng: &mut XorShiftRng) -> (ECP2, BIG) {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/vehicle.rs:177:35
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn Zone_sk_PKE_encryption(rng: &mut XorShiftRng, pke_ek: ECP2, zone_pre_sk: &ECP2) -> (ECP2, ECP2) {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cert`
[INFO] [stdout]   --> src/main.rs:85:25
[INFO] [stdout]    |
[INFO] [stdout] 85 |             if let Some(cert) = cert_v {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_cert`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cred_v1`
[INFO] [stdout]    --> src/main.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let cred_v1 = veh.get_cred(&sigma_v1.unwrap(), &ia.IAPublicKey, epoch);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cred_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 |     let mut neg = big::BIG::fromstring(i.to_string());
[INFO] [stdout]     |         ----^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_valid_token_v`
[INFO] [stdout]    --> src/main.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let is_valid_token_v = vehicle::Veh::verify_token(token_v, &ia.IAPublicKey, m, epoch);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_valid_token_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_valid_token_v2`
[INFO] [stdout]    --> src/main.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let is_valid_token_v2 = vehicle::Veh::verify_token(token_v2, &ia.IAPublicKey, m1, epoch);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_valid_token_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload_w`
[INFO] [stdout]    --> src/main.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let payload_w =
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_key` is never used
[INFO] [stdout]   --> src/SE.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn generate_key() -> GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DNLEN` is never used
[INFO] [stdout]   --> src/util.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const DNLEN: usize = 2 * NLEN;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_random_g1` is never used
[INFO] [stdout]   --> src/util.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn gen_random_g1() -> ECP {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_random_g2` is never used
[INFO] [stdout]   --> src/util.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn gen_random_g2() -> ECP2 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_g1_g1` is never used
[INFO] [stdout]    --> src/util.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn add_g1_g1(a: &mut ECP, b: &ECP) -> ECP {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `minus_g1_g1` is never used
[INFO] [stdout]    --> src/util.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn minus_g1_g1(a: &mut ECP, b: &ECP) -> ECP {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g1_neg` is never used
[INFO] [stdout]    --> src/util.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn g1_neg(a: &mut ECP) -> &ECP {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fq12_inv` is never used
[INFO] [stdout]    --> src/util.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn fq12_inv(a: &mut FP12) -> &FP12 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fr_neg` is never used
[INFO] [stdout]    --> src/util.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub fn fr_neg(x: &BIG) -> BIG {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fq_to_bytes` is never used
[INFO] [stdout]    --> src/util.rs:223:8
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub fn fq_to_bytes(a: &mut FP12) -> [u8; 12*(big::MODBYTES as usize)] {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_big` is never used
[INFO] [stdout]    --> src/util.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub fn to_big(dbig: &DBIG) -> [BIG; 2] {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fq12_to_bits` is never used
[INFO] [stdout]    --> src/util.rs:255:8
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub fn fq12_to_bits(fq12: &mut FP12) -> BitVec {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fr_to_bytes` is never used
[INFO] [stdout]    --> src/util.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn fr_to_bytes(a: &BIG) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g1_to_bytes` is never used
[INFO] [stdout]    --> src/util.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub fn g1_to_bytes(a: &ECP) -> [u8; 65] {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g1_to_bits` is never used
[INFO] [stdout]    --> src/util.rs:277:8
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub fn g1_to_bits(g1: &ECP) -> BitVec {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Hash_into_Fr` is never used
[INFO] [stdout]    --> src/util.rs:438:8
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> (BIG) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `MP_Hash_into_Fr` is never used
[INFO] [stdout]    --> src/util.rs:473:8
[INFO] [stdout]     |
[INFO] [stdout] 473 | pub fn MP_Hash_into_Fr(u: &mut FP12, p1: &ECP, p2: &ECP, s1: &ECP, s2: &ECP, c1: &ECP, c2: &ECP,  pk: &PS_pk ) -> BIG{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wt_Hash_into_Fr` is never used
[INFO] [stdout]    --> src/util.rs:525:8
[INFO] [stdout]     |
[INFO] [stdout] 525 | pub fn wt_Hash_into_Fr(r21: &ECP, r22: &ECP, r3: &mut FP12, a2_hat: &ECP2, b1_hat: &ECP, b2_hat: &ECP, g_hat: &ECP, h2: &ECP2 , h_hat: &E...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     let mut combined_bits = BitVec::new();
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `combined_bits`
[INFO] [stdout]    --> src/util.rs:308:9
[INFO] [stdout]     |
[INFO] [stdout] 308 |     let mut combined_bits = BitVec::new();
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_combined_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sk`, `pk`, and `sig_e` are never read
[INFO] [stdout]    --> src/util.rs:580:9
[INFO] [stdout]     |
[INFO] [stdout] 579 | pub struct CertV {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 580 |     pub sk: BIG,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 581 |     pub pk: ECP2,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 582 |     pub sig_e: ECP,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CertV` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PS_sk` is never constructed
[INFO] [stdout]    --> src/util.rs:600:12
[INFO] [stdout]     |
[INFO] [stdout] 600 | pub struct PS_sk {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PS_pk` is never constructed
[INFO] [stdout]    --> src/util.rs:604:12
[INFO] [stdout]     |
[INFO] [stdout] 604 | pub struct PS_pk {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BLS` should have a snake case name
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | mod BLS;
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `bls`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `DAE` should have a snake case name
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | mod DAE;
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `dae`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `DGSA` should have a snake case name
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | mod DGSA;
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `dgsa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `EA` should have a snake case name
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | mod EA;
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `ea`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `IA` should have a snake case name
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | mod IA;
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `ia`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `PKE` should have a snake case name
[INFO] [stdout]   --> src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | mod PKE;
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `pke`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `SE` should have a snake case name
[INFO] [stdout]   --> src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | mod SE;
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `se`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Zone` should have a snake case name
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | mod Zone;
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case (notice the capitalization): `zone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `uptil_DGSA` should have a snake case name
[INFO] [stdout]   --> src/main.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn uptil_DGSA(
[INFO] [stdout]    |    ^^^^^^^^^^ help: convert the identifier to snake case: `uptil_dgsa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `after_DGSA` should have a snake case name
[INFO] [stdout]    --> src/main.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn after_DGSA(
[INFO] [stdout]     |    ^^^^^^^^^^ help: convert the identifier to snake case: `after_dgsa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zone1` should have a snake case name
[INFO] [stdout]    --> src/main.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let mut Zone1 = Zone::Zone::new();
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `zone1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk_sk_v2` should have a snake case name
[INFO] [stdout]    --> src/main.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let Zpk_sk_v2 = Zone1.generate_zone_sk_key(&zone_pre_sk);
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `zpk_sk_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk_sk_v` should have a snake case name
[INFO] [stdout]    --> src/main.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let Zpk_sk_v = Zone1.generate_zone_sk_key(&zone_pre_sk_v);
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `zpk_sk_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vk_vid__vec` should have a snake case name
[INFO] [stdout]   --> src/BLS.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut vk_vid__vec = g2_to_vec_u128(vk);
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `vk_vid_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vk_vid__vec` should have a snake case name
[INFO] [stdout]   --> src/BLS.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut vk_vid__vec = g2_to_vec_u128(&vk);
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `vk_vid_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk` should have a snake case name
[INFO] [stdout]   --> src/DAE.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Zpk: GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>,
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case (notice the capitalization): `zpk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk` should have a snake case name
[INFO] [stdout]   --> src/DAE.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Zpk: GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>,
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case (notice the capitalization): `zpk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk` should have a snake case name
[INFO] [stdout]   --> src/DAE.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     Zpk: GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>,
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case (notice the capitalization): `zpk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X2` should have a snake case name
[INFO] [stdout]   --> src/DGSA.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let X2 = mul_g2_fr(&g2, &x2);
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_id` should have a snake case name
[INFO] [stdout]   --> src/DGSA.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let Y_id = mul_g2_fr(&g2, &y_id);
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case (notice the capitalization): `y_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_epoch` should have a snake case name
[INFO] [stdout]   --> src/DGSA.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let Y_epoch = mul_g2_fr(&g2, &y_epoch);
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `y_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_K1` should have a snake case name
[INFO] [stdout]   --> src/DGSA.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let Y_K1 = mul_g2_fr(&g2, &y_k1);
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case (notice the capitalization): `y_k1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IASecretKey` should have a snake case name
[INFO] [stdout]   --> src/DGSA.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     IASecretKey: &IASecretKey,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `iasecret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     IAPublicKey: &IAPublicKey,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util.rs:434:9
[INFO] [stdout]     |
[INFO] [stdout] 434 |     let mut ek_u128 = combine_vec_u128(&ek_u128_vec);
[INFO] [stdout]     |         ----^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `XYY` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut XYY = IAPublicKey.pk_X2.clone();
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case (notice the capitalization): `xyy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     IAPublicKey: &IAPublicKey,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Vf` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn Vf(
[INFO] [stdout]     |        ^^ help: convert the identifier to snake case (notice the capitalization): `vf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     IAPublicKey: IAPublicKey,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `XY_inverse` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |     let mut XY_inverse = mul_g2_fr(&IAPublicKey.pk_X2, &int_to_fr_negate(&1));
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `xy_inverse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `EA_key_gen` should have a snake case name
[INFO] [stdout]   --> src/EA.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn EA_key_gen(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to snake case: `ea_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SIG_sig` should have a snake case name
[INFO] [stdout]   --> src/EA.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn SIG_sig(&mut self, vid1: u128, v_pk: &ECP2) -> Option<ECP> {
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to snake case: `sig_sig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IASecretKey` should have a snake case name
[INFO] [stdout]   --> src/IA.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     IASecretKey: IASecretKey,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `iasecret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IAPublicKey` should have a snake case name
[INFO] [stdout]   --> src/IA.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub IAPublicKey: IAPublicKey,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `IA_key_gen` should have a snake case name
[INFO] [stdout]   --> src/IA.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn IA_key_gen(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to snake case: `ia_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pk_X2` should have a snake case name
[INFO] [stdout]   --> src/IA.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let (sk_x2, sk_id, sk_epoch, sk_k1, pk_X2, pk_id, pk_epoch, pk_K1, g2) =
[INFO] [stdout]    |                                             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `pk_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pk_K1` should have a snake case name
[INFO] [stdout]   --> src/IA.rs:56:69
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let (sk_x2, sk_id, sk_epoch, sk_k1, pk_X2, pk_id, pk_epoch, pk_K1, g2) =
[INFO] [stdout]    |                                                                     ^^^^^ help: convert the identifier to snake case (notice the capitalization): `pk_k1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_21` should have a snake case name
[INFO] [stdout]   --> src/PKE.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let (c_1, C_21) = ciphertext;
[INFO] [stdout]    |               ^^^^ help: convert the identifier to snake case (notice the capitalization): `c_21`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Zone_key_gen` should have a snake case name
[INFO] [stdout]   --> src/Zone.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn Zone_key_gen(&mut self, zid: u128) -> ECP2 {
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `zone_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X2` should have a snake case name
[INFO] [stdout]    --> src/util.rs:303:5
[INFO] [stdout]     |
[INFO] [stdout] 303 |     X2: &ECP2,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case (notice the capitalization): `x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_epoch` should have a snake case name
[INFO] [stdout]    --> src/util.rs:304:5
[INFO] [stdout]     |
[INFO] [stdout] 304 |     Y_epoch: &ECP2,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `y_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_id` should have a snake case name
[INFO] [stdout]    --> src/util.rs:305:5
[INFO] [stdout]     |
[INFO] [stdout] 305 |     Y_id: &ECP2,
[INFO] [stdout]     |     ^^^^ help: convert the identifier to snake case (notice the capitalization): `y_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_K1` should have a snake case name
[INFO] [stdout]    --> src/util.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 306 |     Y_K1: &ECP2,
[INFO] [stdout]     |     ^^^^ help: convert the identifier to snake case (notice the capitalization): `y_k1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Hash_into_Fr` should have a snake case name
[INFO] [stdout]    --> src/util.rs:438:8
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> (BIG) {
[INFO] [stdout]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `hash_into_fr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y` should have a snake case name
[INFO] [stdout]    --> src/util.rs:438:34
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> (BIG) {
[INFO] [stdout]     |                                  ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `MP_Hash_into_Fr` should have a snake case name
[INFO] [stdout]    --> src/util.rs:473:8
[INFO] [stdout]     |
[INFO] [stdout] 473 | pub fn MP_Hash_into_Fr(u: &mut FP12, p1: &ECP, p2: &ECP, s1: &ECP, s2: &ECP, c1: &ECP, c2: &ECP,  pk: &PS_pk ) -> BIG{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `mp_hash_into_fr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wt_Hash_into_Fr` should have a snake case name
[INFO] [stdout]    --> src/util.rs:525:8
[INFO] [stdout]     |
[INFO] [stdout] 525 | pub fn wt_Hash_into_Fr(r21: &ECP, r22: &ECP, r3: &mut FP12, a2_hat: &ECP2, b1_hat: &ECP, b2_hat: &ECP, g_hat: &ECP, h2: &ECP2 , h_hat: &E...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `wt_hash_into_fr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pk_X2` should have a snake case name
[INFO] [stdout]    --> src/util.rs:593:9
[INFO] [stdout]     |
[INFO] [stdout] 593 |     pub pk_X2: ECP2,
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `pk_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pk_K1` should have a snake case name
[INFO] [stdout]    --> src/util.rs:596:9
[INFO] [stdout]     |
[INFO] [stdout] 596 |     pub pk_K1: ECP2,
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `pk_k1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]    --> src/util.rs:601:9
[INFO] [stdout]     |
[INFO] [stdout] 601 |     pub X: ECP,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Y` should have a snake case name
[INFO] [stdout]    --> src/util.rs:607:9
[INFO] [stdout]     |
[INFO] [stdout] 607 |     pub Y: Vec<ECP>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X_dash` should have a snake case name
[INFO] [stdout]    --> src/util.rs:608:9
[INFO] [stdout]     |
[INFO] [stdout] 608 |     pub X_dash: ECP2,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_dash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Y_dash` should have a snake case name
[INFO] [stdout]    --> src/util.rs:609:9
[INFO] [stdout]     |
[INFO] [stdout] 609 |     pub Y_dash: Vec<ECP2>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `y_dash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Veh_key_gen` should have a snake case name
[INFO] [stdout]   --> src/vehicle.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn Veh_key_gen(&mut self, rng: &mut XorShiftRng, id: u128) {
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `veh_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SIG_verify` should have a snake case name
[INFO] [stdout]   --> src/vehicle.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn SIG_verify(&mut self, e_pk: &ECP2, sig: &ECP) -> Option<CertV> {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to snake case: `sig_verify`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SIG_sig_epoch` should have a snake case name
[INFO] [stdout]   --> src/vehicle.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn SIG_sig_epoch(&mut self, epoch: u128) -> ECP {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `sig_sig_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]   --> src/vehicle.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         IAPublicKey: &IAPublicKey,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Vehicle_PKE_Key_gen` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn Vehicle_PKE_Key_gen(&mut self, rng: &mut XorShiftRng) -> (ECP2, BIG) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vehicle_pke_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         IAPublicKey: &IAPublicKey,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         IAPublicKey: &IAPublicKey,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Zone_sk_PKE_encryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn Zone_sk_PKE_encryption(rng: &mut XorShiftRng, pke_ek: ECP2, zone_pre_sk: &ECP2) -> (ECP2, ECP2) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `zone_sk_pke_encryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Zone_sk_PKE_decryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn Zone_sk_PKE_decryption(pke_dk: BIG, zpk_encrypted_c1: ECP2, zpk_encrypted_c2: ECP2) -> ECP2 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `zone_sk_pke_decryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SE_Key_gen` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn SE_Key_gen(
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to snake case: `se_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SE_encryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn SE_encryption(
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `se_encryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SE_decryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn SE_decryption(
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `se_decryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `DAE_encryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn DAE_encryption(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dae_encryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |         Zpk: GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>,
[INFO] [stdout]     |         ^^^ help: convert the identifier to snake case (notice the capitalization): `zpk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `DAE_decryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn DAE_decryption(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dae_decryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         Zpk: GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>,
[INFO] [stdout]     |         ^^^ help: convert the identifier to snake case (notice the capitalization): `zpk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]   --> src/vehicle.rs:57:35
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn Veh_key_gen(&mut self, rng: &mut XorShiftRng, id: u128) {
[INFO] [stdout]    |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/vehicle.rs:83:12
[INFO] [stdout]    |
[INFO] [stdout] 83 |         if let sig = &signature_epoch {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sig`
[INFO] [stdout]   --> src/vehicle.rs:83:16
[INFO] [stdout]    |
[INFO] [stdout] 83 |         if let sig = &signature_epoch {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_sig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/vehicle.rs:177:35
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn Zone_sk_PKE_encryption(rng: &mut XorShiftRng, pke_ek: ECP2, zone_pre_sk: &ECP2) -> (ECP2, ECP2) {
[INFO] [stdout]     |                                   ^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cert`
[INFO] [stdout]   --> src/main.rs:85:25
[INFO] [stdout]    |
[INFO] [stdout] 85 |             if let Some(cert) = cert_v {
[INFO] [stdout]    |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_cert`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cred_v1`
[INFO] [stdout]    --> src/main.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let cred_v1 = veh.get_cred(&sigma_v1.unwrap(), &ia.IAPublicKey, epoch);
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cred_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_valid_token_v`
[INFO] [stdout]    --> src/main.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |     let is_valid_token_v = vehicle::Veh::verify_token(token_v, &ia.IAPublicKey, m, epoch);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_valid_token_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_valid_token_v2`
[INFO] [stdout]    --> src/main.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |     let is_valid_token_v2 = vehicle::Veh::verify_token(token_v2, &ia.IAPublicKey, m1, epoch);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_valid_token_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `payload_w`
[INFO] [stdout]    --> src/main.rs:214:9
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let payload_w =
[INFO] [stdout]     |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_payload_w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate_key` is never used
[INFO] [stdout]   --> src/SE.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn generate_key() -> GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DNLEN` is never used
[INFO] [stdout]   --> src/util.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const DNLEN: usize = 2 * NLEN;
[INFO] [stdout]    |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_random_g1` is never used
[INFO] [stdout]   --> src/util.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn gen_random_g1() -> ECP {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_random_g2` is never used
[INFO] [stdout]   --> src/util.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub fn gen_random_g2() -> ECP2 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_g1_g1` is never used
[INFO] [stdout]    --> src/util.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn add_g1_g1(a: &mut ECP, b: &ECP) -> ECP {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `minus_g1_g1` is never used
[INFO] [stdout]    --> src/util.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub fn minus_g1_g1(a: &mut ECP, b: &ECP) -> ECP {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g1_neg` is never used
[INFO] [stdout]    --> src/util.rs:149:8
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub fn g1_neg(a: &mut ECP) -> &ECP {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fq12_inv` is never used
[INFO] [stdout]    --> src/util.rs:160:8
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub fn fq12_inv(a: &mut FP12) -> &FP12 {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fr_neg` is never used
[INFO] [stdout]    --> src/util.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 214 | pub fn fr_neg(x: &BIG) -> BIG {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fq_to_bytes` is never used
[INFO] [stdout]    --> src/util.rs:223:8
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub fn fq_to_bytes(a: &mut FP12) -> [u8; 12*(big::MODBYTES as usize)] {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `to_big` is never used
[INFO] [stdout]    --> src/util.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub fn to_big(dbig: &DBIG) -> [BIG; 2] {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fq12_to_bits` is never used
[INFO] [stdout]    --> src/util.rs:255:8
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub fn fq12_to_bits(fq12: &mut FP12) -> BitVec {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fr_to_bytes` is never used
[INFO] [stdout]    --> src/util.rs:264:8
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub fn fr_to_bytes(a: &BIG) -> [u8; 32] {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g1_to_bytes` is never used
[INFO] [stdout]    --> src/util.rs:270:8
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub fn g1_to_bytes(a: &ECP) -> [u8; 65] {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g1_to_bits` is never used
[INFO] [stdout]    --> src/util.rs:277:8
[INFO] [stdout]     |
[INFO] [stdout] 277 | pub fn g1_to_bits(g1: &ECP) -> BitVec {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Hash_into_Fr` is never used
[INFO] [stdout]    --> src/util.rs:438:8
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> (BIG) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `MP_Hash_into_Fr` is never used
[INFO] [stdout]    --> src/util.rs:473:8
[INFO] [stdout]     |
[INFO] [stdout] 473 | pub fn MP_Hash_into_Fr(u: &mut FP12, p1: &ECP, p2: &ECP, s1: &ECP, s2: &ECP, c1: &ECP, c2: &ECP,  pk: &PS_pk ) -> BIG{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wt_Hash_into_Fr` is never used
[INFO] [stdout]    --> src/util.rs:525:8
[INFO] [stdout]     |
[INFO] [stdout] 525 | pub fn wt_Hash_into_Fr(r21: &ECP, r22: &ECP, r3: &mut FP12, a2_hat: &ECP2, b1_hat: &ECP, b2_hat: &ECP, g_hat: &ECP, h2: &ECP2 , h_hat: &E...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sk`, `pk`, and `sig_e` are never read
[INFO] [stdout]    --> src/util.rs:580:9
[INFO] [stdout]     |
[INFO] [stdout] 579 | pub struct CertV {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 580 |     pub sk: BIG,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 581 |     pub pk: ECP2,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 582 |     pub sig_e: ECP,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CertV` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PS_sk` is never constructed
[INFO] [stdout]    --> src/util.rs:600:12
[INFO] [stdout]     |
[INFO] [stdout] 600 | pub struct PS_sk {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PS_pk` is never constructed
[INFO] [stdout]    --> src/util.rs:604:12
[INFO] [stdout]     |
[INFO] [stdout] 604 | pub struct PS_pk {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `BLS` should have a snake case name
[INFO] [stdout]   --> src/main.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | mod BLS;
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `bls`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `DAE` should have a snake case name
[INFO] [stdout]   --> src/main.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | mod DAE;
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `dae`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `DGSA` should have a snake case name
[INFO] [stdout]   --> src/main.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | mod DGSA;
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case: `dgsa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `EA` should have a snake case name
[INFO] [stdout]   --> src/main.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | mod EA;
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `ea`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `IA` should have a snake case name
[INFO] [stdout]   --> src/main.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 | mod IA;
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `ia`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `PKE` should have a snake case name
[INFO] [stdout]   --> src/main.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | mod PKE;
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case: `pke`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `SE` should have a snake case name
[INFO] [stdout]   --> src/main.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | mod SE;
[INFO] [stdout]    |     ^^ help: convert the identifier to snake case: `se`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: module `Zone` should have a snake case name
[INFO] [stdout]   --> src/main.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | mod Zone;
[INFO] [stdout]    |     ^^^^ help: convert the identifier to snake case (notice the capitalization): `zone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `uptil_DGSA` should have a snake case name
[INFO] [stdout]   --> src/main.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn uptil_DGSA(
[INFO] [stdout]    |    ^^^^^^^^^^ help: convert the identifier to snake case: `uptil_dgsa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `after_DGSA` should have a snake case name
[INFO] [stdout]    --> src/main.rs:119:4
[INFO] [stdout]     |
[INFO] [stdout] 119 | fn after_DGSA(
[INFO] [stdout]     |    ^^^^^^^^^^ help: convert the identifier to snake case: `after_dgsa`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zone1` should have a snake case name
[INFO] [stdout]    --> src/main.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |     let mut Zone1 = Zone::Zone::new();
[INFO] [stdout]     |             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `zone1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk_sk_v2` should have a snake case name
[INFO] [stdout]    --> src/main.rs:150:9
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let Zpk_sk_v2 = Zone1.generate_zone_sk_key(&zone_pre_sk);
[INFO] [stdout]     |         ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `zpk_sk_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk_sk_v` should have a snake case name
[INFO] [stdout]    --> src/main.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |     let Zpk_sk_v = Zone1.generate_zone_sk_key(&zone_pre_sk_v);
[INFO] [stdout]     |         ^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `zpk_sk_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vk_vid__vec` should have a snake case name
[INFO] [stdout]   --> src/BLS.rs:60:17
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut vk_vid__vec = g2_to_vec_u128(vk);
[INFO] [stdout]    |                 ^^^^^^^^^^^ help: convert the identifier to snake case: `vk_vid_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `vk_vid__vec` should have a snake case name
[INFO] [stdout]   --> src/BLS.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let mut vk_vid__vec = g2_to_vec_u128(&vk);
[INFO] [stdout]    |             ^^^^^^^^^^^ help: convert the identifier to snake case: `vk_vid_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk` should have a snake case name
[INFO] [stdout]   --> src/DAE.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     Zpk: GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>,
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case (notice the capitalization): `zpk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk` should have a snake case name
[INFO] [stdout]   --> src/DAE.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     Zpk: GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>,
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case (notice the capitalization): `zpk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk` should have a snake case name
[INFO] [stdout]   --> src/DAE.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     Zpk: GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>,
[INFO] [stdout]    |     ^^^ help: convert the identifier to snake case (notice the capitalization): `zpk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X2` should have a snake case name
[INFO] [stdout]   --> src/DGSA.rs:49:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     let X2 = mul_g2_fr(&g2, &x2);
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case (notice the capitalization): `x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_id` should have a snake case name
[INFO] [stdout]   --> src/DGSA.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 50 |     let Y_id = mul_g2_fr(&g2, &y_id);
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case (notice the capitalization): `y_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_epoch` should have a snake case name
[INFO] [stdout]   --> src/DGSA.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     let Y_epoch = mul_g2_fr(&g2, &y_epoch);
[INFO] [stdout]    |         ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `y_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_K1` should have a snake case name
[INFO] [stdout]   --> src/DGSA.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 52 |     let Y_K1 = mul_g2_fr(&g2, &y_k1);
[INFO] [stdout]    |         ^^^^ help: convert the identifier to snake case (notice the capitalization): `y_k1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IASecretKey` should have a snake case name
[INFO] [stdout]   --> src/DGSA.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     IASecretKey: &IASecretKey,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `iasecret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     IAPublicKey: &IAPublicKey,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `XYY` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let mut XYY = IAPublicKey.pk_X2.clone();
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case (notice the capitalization): `xyy`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     IAPublicKey: &IAPublicKey,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Vf` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:193:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub fn Vf(
[INFO] [stdout]     |        ^^ help: convert the identifier to snake case (notice the capitalization): `vf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:197:5
[INFO] [stdout]     |
[INFO] [stdout] 197 |     IAPublicKey: IAPublicKey,
[INFO] [stdout]     |     ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `XY_inverse` should have a snake case name
[INFO] [stdout]    --> src/DGSA.rs:228:13
[INFO] [stdout]     |
[INFO] [stdout] 228 |     let mut XY_inverse = mul_g2_fr(&IAPublicKey.pk_X2, &int_to_fr_negate(&1));
[INFO] [stdout]     |             ^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `xy_inverse`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `EA_key_gen` should have a snake case name
[INFO] [stdout]   --> src/EA.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn EA_key_gen(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to snake case: `ea_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SIG_sig` should have a snake case name
[INFO] [stdout]   --> src/EA.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn SIG_sig(&mut self, vid1: u128, v_pk: &ECP2) -> Option<ECP> {
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to snake case: `sig_sig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IASecretKey` should have a snake case name
[INFO] [stdout]   --> src/IA.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     IASecretKey: IASecretKey,
[INFO] [stdout]    |     ^^^^^^^^^^^ help: convert the identifier to snake case: `iasecret_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `IAPublicKey` should have a snake case name
[INFO] [stdout]   --> src/IA.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub IAPublicKey: IAPublicKey,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `IA_key_gen` should have a snake case name
[INFO] [stdout]   --> src/IA.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn IA_key_gen(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to snake case: `ia_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pk_X2` should have a snake case name
[INFO] [stdout]   --> src/IA.rs:56:45
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let (sk_x2, sk_id, sk_epoch, sk_k1, pk_X2, pk_id, pk_epoch, pk_K1, g2) =
[INFO] [stdout]    |                                             ^^^^^ help: convert the identifier to snake case (notice the capitalization): `pk_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `pk_K1` should have a snake case name
[INFO] [stdout]   --> src/IA.rs:56:69
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let (sk_x2, sk_id, sk_epoch, sk_k1, pk_X2, pk_id, pk_epoch, pk_K1, g2) =
[INFO] [stdout]    |                                                                     ^^^^^ help: convert the identifier to snake case (notice the capitalization): `pk_k1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `C_21` should have a snake case name
[INFO] [stdout]   --> src/PKE.rs:34:15
[INFO] [stdout]    |
[INFO] [stdout] 34 |     let (c_1, C_21) = ciphertext;
[INFO] [stdout]    |               ^^^^ help: convert the identifier to snake case (notice the capitalization): `c_21`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Zone_key_gen` should have a snake case name
[INFO] [stdout]   --> src/Zone.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn Zone_key_gen(&mut self, zid: u128) -> ECP2 {
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `zone_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `X2` should have a snake case name
[INFO] [stdout]    --> src/util.rs:303:5
[INFO] [stdout]     |
[INFO] [stdout] 303 |     X2: &ECP2,
[INFO] [stdout]     |     ^^ help: convert the identifier to snake case (notice the capitalization): `x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_epoch` should have a snake case name
[INFO] [stdout]    --> src/util.rs:304:5
[INFO] [stdout]     |
[INFO] [stdout] 304 |     Y_epoch: &ECP2,
[INFO] [stdout]     |     ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `y_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_id` should have a snake case name
[INFO] [stdout]    --> src/util.rs:305:5
[INFO] [stdout]     |
[INFO] [stdout] 305 |     Y_id: &ECP2,
[INFO] [stdout]     |     ^^^^ help: convert the identifier to snake case (notice the capitalization): `y_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y_K1` should have a snake case name
[INFO] [stdout]    --> src/util.rs:306:5
[INFO] [stdout]     |
[INFO] [stdout] 306 |     Y_K1: &ECP2,
[INFO] [stdout]     |     ^^^^ help: convert the identifier to snake case (notice the capitalization): `y_k1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `Hash_into_Fr` should have a snake case name
[INFO] [stdout]    --> src/util.rs:438:8
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> (BIG) {
[INFO] [stdout]     |        ^^^^^^^^^^^^ help: convert the identifier to snake case: `hash_into_fr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Y` should have a snake case name
[INFO] [stdout]    --> src/util.rs:438:34
[INFO] [stdout]     |
[INFO] [stdout] 438 | pub fn Hash_into_Fr(commit: ECP, Y: Vec<ECP>) -> (BIG) {
[INFO] [stdout]     |                                  ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `MP_Hash_into_Fr` should have a snake case name
[INFO] [stdout]    --> src/util.rs:473:8
[INFO] [stdout]     |
[INFO] [stdout] 473 | pub fn MP_Hash_into_Fr(u: &mut FP12, p1: &ECP, p2: &ECP, s1: &ECP, s2: &ECP, c1: &ECP, c2: &ECP,  pk: &PS_pk ) -> BIG{
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `mp_hash_into_fr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `wt_Hash_into_Fr` should have a snake case name
[INFO] [stdout]    --> src/util.rs:525:8
[INFO] [stdout]     |
[INFO] [stdout] 525 | pub fn wt_Hash_into_Fr(r21: &ECP, r22: &ECP, r3: &mut FP12, a2_hat: &ECP2, b1_hat: &ECP, b2_hat: &ECP, g_hat: &ECP, h2: &ECP2 , h_hat: &E...
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `wt_hash_into_fr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pk_X2` should have a snake case name
[INFO] [stdout]    --> src/util.rs:593:9
[INFO] [stdout]     |
[INFO] [stdout] 593 |     pub pk_X2: ECP2,
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `pk_x2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `pk_K1` should have a snake case name
[INFO] [stdout]    --> src/util.rs:596:9
[INFO] [stdout]     |
[INFO] [stdout] 596 |     pub pk_K1: ECP2,
[INFO] [stdout]     |         ^^^^^ help: convert the identifier to snake case (notice the capitalization): `pk_k1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X` should have a snake case name
[INFO] [stdout]    --> src/util.rs:601:9
[INFO] [stdout]     |
[INFO] [stdout] 601 |     pub X: ECP,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Y` should have a snake case name
[INFO] [stdout]    --> src/util.rs:607:9
[INFO] [stdout]     |
[INFO] [stdout] 607 |     pub Y: Vec<ECP>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `X_dash` should have a snake case name
[INFO] [stdout]    --> src/util.rs:608:9
[INFO] [stdout]     |
[INFO] [stdout] 608 |     pub X_dash: ECP2,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `x_dash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Y_dash` should have a snake case name
[INFO] [stdout]    --> src/util.rs:609:9
[INFO] [stdout]     |
[INFO] [stdout] 609 |     pub Y_dash: Vec<ECP2>,
[INFO] [stdout]     |         ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `y_dash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Veh_key_gen` should have a snake case name
[INFO] [stdout]   --> src/vehicle.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn Veh_key_gen(&mut self, rng: &mut XorShiftRng, id: u128) {
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `veh_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SIG_verify` should have a snake case name
[INFO] [stdout]   --> src/vehicle.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn SIG_verify(&mut self, e_pk: &ECP2, sig: &ECP) -> Option<CertV> {
[INFO] [stdout]    |            ^^^^^^^^^^ help: convert the identifier to snake case: `sig_verify`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SIG_sig_epoch` should have a snake case name
[INFO] [stdout]   --> src/vehicle.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn SIG_sig_epoch(&mut self, epoch: u128) -> ECP {
[INFO] [stdout]    |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `sig_sig_epoch`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]   --> src/vehicle.rs:94:9
[INFO] [stdout]    |
[INFO] [stdout] 94 |         IAPublicKey: &IAPublicKey,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Vehicle_PKE_Key_gen` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn Vehicle_PKE_Key_gen(&mut self, rng: &mut XorShiftRng) -> (ECP2, BIG) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `vehicle_pke_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         IAPublicKey: &IAPublicKey,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `IAPublicKey` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:160:9
[INFO] [stdout]     |
[INFO] [stdout] 160 |         IAPublicKey: &IAPublicKey,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: convert the identifier to snake case: `iapublic_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Zone_sk_PKE_encryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 177 |     pub fn Zone_sk_PKE_encryption(rng: &mut XorShiftRng, pke_ek: ECP2, zone_pre_sk: &ECP2) -> (ECP2, ECP2) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `zone_sk_pke_encryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Zone_sk_PKE_decryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:182:12
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn Zone_sk_PKE_decryption(pke_dk: BIG, zpk_encrypted_c1: ECP2, zpk_encrypted_c2: ECP2) -> ECP2 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `zone_sk_pke_decryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SE_Key_gen` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:185:12
[INFO] [stdout]     |
[INFO] [stdout] 185 |     pub fn SE_Key_gen(
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to snake case: `se_key_gen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SE_encryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:192:12
[INFO] [stdout]     |
[INFO] [stdout] 192 |     pub fn SE_encryption(
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `se_encryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `SE_decryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:200:12
[INFO] [stdout]     |
[INFO] [stdout] 200 |     pub fn SE_decryption(
[INFO] [stdout]     |            ^^^^^^^^^^^^^ help: convert the identifier to snake case: `se_decryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `DAE_encryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 |     pub fn DAE_encryption(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dae_encryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 210 |         Zpk: GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>,
[INFO] [stdout]     |         ^^^ help: convert the identifier to snake case (notice the capitalization): `zpk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `DAE_decryption` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:216:12
[INFO] [stdout]     |
[INFO] [stdout] 216 |     pub fn DAE_decryption(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `dae_decryption`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Zpk` should have a snake case name
[INFO] [stdout]    --> src/vehicle.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         Zpk: GenericArray<u8, <Aes128GcmSiv as NewAead>::KeySize>,
[INFO] [stdout]     |         ^^^ help: convert the identifier to snake case (notice the capitalization): `zpk`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.23s
[INFO] running `Command { std: "docker" "inspect" "84153f3ec1269c823df1dc108f8bcdfb8243a07aabd5521c9aefdb3e32f96339", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "84153f3ec1269c823df1dc108f8bcdfb8243a07aabd5521c9aefdb3e32f96339", kill_on_drop: false }`
[INFO] [stdout] 84153f3ec1269c823df1dc108f8bcdfb8243a07aabd5521c9aefdb3e32f96339
