[INFO] cloning repository https://github.com/anonyZEEP/SAC
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/anonyZEEP/SAC" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FanonyZEEP%2FSAC", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FanonyZEEP%2FSAC'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6c34c1784d28ed33a1d5af5ace7ff0f691787eda
[INFO] checking anonyZEEP/SAC against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FanonyZEEP%2FSAC" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/anonyZEEP/SAC
[INFO] finished tweaking git repo https://github.com/anonyZEEP/SAC
[INFO] tweaked toml for git repo https://github.com/anonyZEEP/SAC written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/anonyZEEP/SAC on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/anonyZEEP/SAC 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b5af99f895314344072fd9e5fe932f519c8080f6d85357747907328102ef88aa
[INFO] running `Command { std: "docker" "start" "-a" "b5af99f895314344072fd9e5fe932f519c8080f6d85357747907328102ef88aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b5af99f895314344072fd9e5fe932f519c8080f6d85357747907328102ef88aa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b5af99f895314344072fd9e5fe932f519c8080f6d85357747907328102ef88aa", kill_on_drop: false }`
[INFO] [stdout] b5af99f895314344072fd9e5fe932f519c8080f6d85357747907328102ef88aa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] de9c7adc3281144efdc002a8ac32123c3d09bc6e10dd66a129858f7173fb0e9e
[INFO] running `Command { std: "docker" "start" "-a" "de9c7adc3281144efdc002a8ac32123c3d09bc6e10dd66a129858f7173fb0e9e", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling libc v0.2.154
[INFO] [stderr]     Checking either v1.11.0
[INFO] [stderr]     Checking constant_time_eq v0.3.0
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]     Checking wyz v0.5.1
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking bit-vec v0.6.3
[INFO] [stderr]     Checking crossbeam-channel v0.5.12
[INFO] [stderr]     Checking crypto-mac v0.11.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking bitvec v1.0.1
[INFO] [stderr]     Checking blake2 v0.10.6
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]     Checking blake2s_simd v1.0.2
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking pairing v0.14.2
[INFO] [stderr]     Checking ff v0.13.0
[INFO] [stderr]     Checking group v0.13.0
[INFO] [stderr]     Checking pairing v0.23.0
[INFO] [stderr]     Checking bellman v0.14.0
[INFO] [stderr]     Checking bls v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `digest`
[INFO] [stdout]  --> src/util.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use self::sha2::{digest, Sha256};
[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 imports: `BigEndian`, `ByteOrder`, `NativeEndian`, and `ReadBytesExt`
[INFO] [stdout]   --> src/util.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use byteorder::{ReadBytesExt, BigEndian,ByteOrder, NativeEndian};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^ ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `SeedableRng`
[INFO] [stdout]   --> src/util.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]    |            ^^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]   --> src/util.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::chacha::ChaChaRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/util.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/util.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/util.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ticket_status` should have an upper camel case name
[INFO] [stdout]   --> src/util.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum ticket_status {
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TicketStatus`
[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 `curr_sess` should have an upper camel case name
[INFO] [stdout]   --> src/util.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct curr_sess{
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `CurrSess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `session` should have an upper camel case name
[INFO] [stdout]   --> src/util.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct session{
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `bbs_sign` should have an upper camel case name
[INFO] [stdout]   --> src/util.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct bbs_sign{
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to upper camel case: `BbsSign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `bbs_zkp` should have an upper camel case name
[INFO] [stdout]   --> src/util.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct bbs_zkp{
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to upper camel case: `BbsZkp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `score_zkp` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct score_zkp{
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to upper camel case: `ScoreZkp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `randoms` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct randoms{
[INFO] [stdout]     |            ^^^^^^^ help: convert the identifier to upper camel case: `Randoms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `credential` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct credential{
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Credential`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `P_iss_ZKP` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct P_iss_ZKP{
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to upper camel case: `PIssZkp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rand` and `Rng`
[INFO] [stdout]  --> src/bbs.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]   |                         ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]  --> src/bbs.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::chacha::ChaChaRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/bbs.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/bbs.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/bbs.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/bbs.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, `NativeEndian`, and `ReadBytesExt`
[INFO] [stdout]  --> src/bb.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use byteorder::{ReadBytesExt, BigEndian,ByteOrder, NativeEndian};
[INFO] [stdout]   |                 ^^^^^^^^^^^^  ^^^^^^^^^ ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rand` and `Rng`
[INFO] [stdout]  --> src/bb.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]   |                         ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]  --> src/bb.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::chacha::ChaChaRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/bb.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/bb.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/bb.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/bb.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `boneh_boyen` should have an upper camel case name
[INFO] [stdout]   --> src/bb.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct boneh_boyen{
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to upper camel case: `BonehBoyen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bbs::BBS`
[INFO] [stdout]  --> src/sp.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::bbs::BBS;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::user`
[INFO] [stdout]  --> src/sp.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::user;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::randoms`
[INFO] [stdout]   --> src/sp.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::util::randoms;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, `NativeEndian`, and `ReadBytesExt`
[INFO] [stdout]   --> src/sp.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use byteorder::{ReadBytesExt, BigEndian,ByteOrder, NativeEndian};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^ ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rand` and `Rng`
[INFO] [stdout]   --> src/sp.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]    |                         ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]   --> src/sp.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand::chacha::ChaChaRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/sp.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/sp.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/sp.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/sp.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bb`
[INFO] [stdout]  --> src/user.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::bb;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::bbs_zkp`
[INFO] [stdout]   --> src/user.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::util::bbs_zkp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, `NativeEndian`, and `ReadBytesExt`
[INFO] [stdout]   --> src/user.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use byteorder::{ReadBytesExt, BigEndian,ByteOrder, NativeEndian};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^ ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rand` and `Rng`
[INFO] [stdout]   --> src/user.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]    |                         ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]   --> src/user.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::chacha::ChaChaRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/user.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/user.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/user.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/user.rs:89:85
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn create_reg_zkp(&mut self, service_provider: &Box<sp::SP>, y_dash: Fr) -> (Box<util::P_iss_ZKP>){
[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] 89 -     pub fn create_reg_zkp(&mut self, service_provider: &Box<sp::SP>, y_dash: Fr) -> (Box<util::P_iss_ZKP>){
[INFO] [stdout] 89 +     pub fn create_reg_zkp(&mut self, service_provider: &Box<sp::SP>, y_dash: Fr) -> Box<util::P_iss_ZKP> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, `NativeEndian`, and `ReadBytesExt`
[INFO] [stdout]   --> src/main.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use byteorder::{ReadBytesExt, BigEndian,ByteOrder, NativeEndian};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^ ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rand`, `Rng`, `SeedableRng`, and `XorShiftRng`
[INFO] [stdout]   --> src/main.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]    |            ^^^^^^^^^^^  ^^^  ^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand::chacha::ChaChaRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/main.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]   --> src/main.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::mul_g1_fr`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::util::mul_g1_fr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `digest`
[INFO] [stdout]  --> src/util.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 | use self::sha2::{digest, Sha256};
[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 imports: `BigEndian`, `ByteOrder`, `NativeEndian`, and `ReadBytesExt`
[INFO] [stdout]   --> src/util.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | use byteorder::{ReadBytesExt, BigEndian,ByteOrder, NativeEndian};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^ ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rng` and `SeedableRng`
[INFO] [stdout]   --> src/util.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]    |            ^^^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]   --> src/util.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rand::chacha::ChaChaRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/util.rs:15:14
[INFO] [stdout]    |
[INFO] [stdout] 15 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/util.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/util.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ticket_status` should have an upper camel case name
[INFO] [stdout]   --> src/util.rs:22:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum ticket_status {
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `TicketStatus`
[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 `curr_sess` should have an upper camel case name
[INFO] [stdout]   --> src/util.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct curr_sess{
[INFO] [stdout]    |            ^^^^^^^^^ help: convert the identifier to upper camel case: `CurrSess`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `session` should have an upper camel case name
[INFO] [stdout]   --> src/util.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct session{
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Session`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `bbs_sign` should have an upper camel case name
[INFO] [stdout]   --> src/util.rs:62:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub struct bbs_sign{
[INFO] [stdout]    |            ^^^^^^^^ help: convert the identifier to upper camel case: `BbsSign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `bbs_zkp` should have an upper camel case name
[INFO] [stdout]   --> src/util.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct bbs_zkp{
[INFO] [stdout]    |            ^^^^^^^ help: convert the identifier to upper camel case: `BbsZkp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `score_zkp` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct score_zkp{
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to upper camel case: `ScoreZkp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `randoms` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct randoms{
[INFO] [stdout]     |            ^^^^^^^ help: convert the identifier to upper camel case: `Randoms`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `credential` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:131:12
[INFO] [stdout]     |
[INFO] [stdout] 131 | pub struct credential{
[INFO] [stdout]     |            ^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Credential`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `P_iss_ZKP` should have an upper camel case name
[INFO] [stdout]    --> src/util.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct P_iss_ZKP{
[INFO] [stdout]     |            ^^^^^^^^^ help: convert the identifier to upper camel case: `PIssZkp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rand` and `Rng`
[INFO] [stdout]  --> src/bbs.rs:7:25
[INFO] [stdout]   |
[INFO] [stdout] 7 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]   |                         ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]  --> src/bbs.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::chacha::ChaChaRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/bbs.rs:11:14
[INFO] [stdout]    |
[INFO] [stdout] 11 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/bbs.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/bbs.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/bbs.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, `NativeEndian`, and `ReadBytesExt`
[INFO] [stdout]  --> src/bb.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 | use byteorder::{ReadBytesExt, BigEndian,ByteOrder, NativeEndian};
[INFO] [stdout]   |                 ^^^^^^^^^^^^  ^^^^^^^^^ ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rand` and `Rng`
[INFO] [stdout]  --> src/bb.rs:8:25
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]   |                         ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]  --> src/bb.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rand::chacha::ChaChaRng;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/bb.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/bb.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/bb.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/bb.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `boneh_boyen` should have an upper camel case name
[INFO] [stdout]   --> src/bb.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct boneh_boyen{
[INFO] [stdout]    |            ^^^^^^^^^^^ help: convert the identifier to upper camel case: `BonehBoyen`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bbs::BBS`
[INFO] [stdout]  --> src/sp.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::bbs::BBS;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::user`
[INFO] [stdout]  --> src/sp.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::user;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::randoms`
[INFO] [stdout]   --> src/sp.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::util::randoms;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, `NativeEndian`, and `ReadBytesExt`
[INFO] [stdout]   --> src/sp.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use byteorder::{ReadBytesExt, BigEndian,ByteOrder, NativeEndian};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^ ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rand` and `Rng`
[INFO] [stdout]   --> src/sp.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]    |                         ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]   --> src/sp.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand::chacha::ChaChaRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/sp.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/sp.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::convert::TryInto;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/sp.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/sp.rs:22:17
[INFO] [stdout]    |
[INFO] [stdout] 22 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::bb`
[INFO] [stdout]  --> src/user.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::bb;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::bbs_zkp`
[INFO] [stdout]   --> src/user.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::util::bbs_zkp;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, `NativeEndian`, and `ReadBytesExt`
[INFO] [stdout]   --> src/user.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | use byteorder::{ReadBytesExt, BigEndian,ByteOrder, NativeEndian};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^ ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rand` and `Rng`
[INFO] [stdout]   --> src/user.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]    |                         ^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]   --> src/user.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::chacha::ChaChaRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/user.rs:17:14
[INFO] [stdout]    |
[INFO] [stdout] 17 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/user.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Duration` and `Instant`
[INFO] [stdout]   --> src/user.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/user.rs:89:85
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn create_reg_zkp(&mut self, service_provider: &Box<sp::SP>, y_dash: Fr) -> (Box<util::P_iss_ZKP>){
[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] 89 -     pub fn create_reg_zkp(&mut self, service_provider: &Box<sp::SP>, y_dash: Fr) -> (Box<util::P_iss_ZKP>){
[INFO] [stdout] 89 +     pub fn create_reg_zkp(&mut self, service_provider: &Box<sp::SP>, y_dash: Fr) -> Box<util::P_iss_ZKP> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BigEndian`, `ByteOrder`, `NativeEndian`, and `ReadBytesExt`
[INFO] [stdout]   --> src/main.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 | use byteorder::{ReadBytesExt, BigEndian,ByteOrder, NativeEndian};
[INFO] [stdout]    |                 ^^^^^^^^^^^^  ^^^^^^^^^ ^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Rand`, `Rng`, `SeedableRng`, and `XorShiftRng`
[INFO] [stdout]   --> src/main.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | use rand::{SeedableRng, Rng, Rand,XorShiftRng};
[INFO] [stdout]    |            ^^^^^^^^^^^  ^^^  ^^^^ ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::chacha::ChaChaRng`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand::chacha::ChaChaRng;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Blake2b` and `Blake2s`
[INFO] [stdout]   --> src/main.rs:18:14
[INFO] [stdout]    |
[INFO] [stdout] 18 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |              ^^^^^^^          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BorrowMut` and `Borrow`
[INFO] [stdout]   --> src/main.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::borrow::{Borrow, BorrowMut};
[INFO] [stdout]    |                   ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use std::fmt;
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Duration`
[INFO] [stdout]   --> src/main.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | use std::time::{Duration, Instant};
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::util::mul_g1_fr`
[INFO] [stdout]   --> src/main.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::util::mul_g1_fr;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/bbs.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/bb.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/sp.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/user.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PrimeField`
[INFO] [stdout]  --> src/verifiable_shuffle.rs:2:45
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pairing::{CurveProjective, CurveAffine, PrimeField, Field, Engine};
[INFO] [stdout]   |                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/main.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let mut r = &mut a.clone();
[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/util.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut r = &mut a.clone();
[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/util.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let mut r = &mut a.clone();
[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/util.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let mut r = &mut a.clone();
[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/util.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |     let mut r = &mut a.clone();
[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/util.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     let mut r = &mut a.clone();
[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/util.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |     let mut r = &mut a.clone();
[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/util.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let mut r = &mut a.clone();
[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/util.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |     let mut r = &mut a.clone();
[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/util.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |     let mut r = &mut a.clone();
[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/util.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let mut r = &mut a.clone();
[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/util.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let mut r = &mut a.clone();
[INFO] [stdout]     |         ----^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/bbs.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         for n in 0..(rr.k+4) {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bbs.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut h0 = *self.gen_g1[0].as_ref();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h0`
[INFO] [stdout]    --> src/bbs.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut h0 = *self.gen_g1[0].as_ref();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sp.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |             let mut h = Box::new(util::session{
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/sp.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         for j in 0..size {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sp.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         for i in 0..k {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sp.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         for i in 0..(self.curr_session.K - self.curr_session.M) {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sp.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |         for i in 0..(self.curr_session.M) {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/user.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Prepare_Cred(&mut self,size: &Fr, service_provider: &Box<sp::SP>) -> (Box<G1>, Fr){
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/user.rs:56:14
[INFO] [stdout]    |
[INFO] [stdout] 56 |         for (i, ele) in sess_list.into_iter().enumerate()  {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/user.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout] 147 |          let mut rng = XorShiftRng::from_seed([0x5dbe6259, 0x8d313d76, 0x3237db17, 0xe5bc0654]);
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/user.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout] 147 |          let mut rng = XorShiftRng::from_seed([0x5dbe6259, 0x8d313d76, 0x3237db17, 0xe5bc0654]);
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/user.rs:150:22
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 for (j, tick) in (*sp).session_list.clone().into_iter().enumerate(){
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/user.rs:309:13
[INFO] [stdout]     |
[INFO] [stdout] 309 | ...   let mut RL = util::do_pairing(&(*(*sp).bbs_ticket.gen_g1[1]).into_affine(), &util::mul_g2_fr(*(*sp).bbs_ticket.gen_g2, &di_ri).into...
[INFO] [stdout]     |           ----^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/user.rs:161:36
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn send_sig_zkp(&mut self, t: Fr, sp: &Box<sp::SP>, ran: &Box<util::randoms>){
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/user.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         for i in 0..self.k{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zkp_sig`
[INFO] [stdout]    --> src/user.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |         let zkp_sig = util::bbs_zkp{
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zkp_sig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/user.rs:252:14
[INFO] [stdout]     |
[INFO] [stdout] 252 |         for (i, val) in self.cred.tickets.clone().into_iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/user.rs:253:18
[INFO] [stdout]     |
[INFO] [stdout] 253 |             for (j, val2) in sp.session_list.clone().into_iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/user.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |         for i in 0..self.k {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `RL`
[INFO] [stdout]    --> src/user.rs:309:13
[INFO] [stdout]     |
[INFO] [stdout] 309 | ...   let mut RL = util::do_pairing(&(*(*sp).bbs_ticket.gen_g1[1]).into_affine(), &util::mul_g2_fr(*(*sp).bbs_ticket.gen_g2, &di_ri).into...
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_RL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `R` is never read
[INFO] [stdout]    --> src/user.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 | ...   R = util::mul_fq12_fq12(R, util::do_pairing(&D.into_affine(), &util::mul_g2_fr(*(*sp).bbs_ticket.gen_g2, &util::fr_neg(di_rei)).into_affine()));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `R_s` is never read
[INFO] [stdout]    --> src/user.rs:334:9
[INFO] [stdout]     |
[INFO] [stdout] 334 |         R_s = util::add_fq12_fq12(R_s, util::do_pairing(&(*V).into_affine(), &util::mul_g2_fr(*sp.bbs_score.gen_g2, &summ).into_affine()));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/bbs.rs:11:23
[INFO] [stdout]    |
[INFO] [stdout] 11 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/bb.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/sp.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/user.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PrimeField`
[INFO] [stdout]  --> src/verifiable_shuffle.rs:2:45
[INFO] [stdout]   |
[INFO] [stdout] 2 | use pairing::{CurveProjective, CurveAffine, PrimeField, Field, Engine};
[INFO] [stdout]   |                                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Digest`
[INFO] [stdout]   --> src/main.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | use blake2::{Blake2b, Digest, Blake2s};
[INFO] [stdout]    |                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]   --> src/verifiable_shuffle.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut i = 0;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]   --> src/verifiable_shuffle.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         i += 1;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/util.rs:183:9
[INFO] [stdout]     |
[INFO] [stdout] 183 |     let mut r = &mut a.clone();
[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/util.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let mut r = &mut a.clone();
[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/util.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 |     let mut r = &mut a.clone();
[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/util.rs:200:9
[INFO] [stdout]     |
[INFO] [stdout] 200 |     let mut r = &mut a.clone();
[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/util.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |     let mut r = &mut a.clone();
[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/util.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     let mut r = &mut a.clone();
[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/util.rs:218:9
[INFO] [stdout]     |
[INFO] [stdout] 218 |     let mut r = &mut a.clone();
[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/util.rs:224:9
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let mut r = &mut a.clone();
[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/util.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |     let mut r = &mut a.clone();
[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/util.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 241 |     let mut r = &mut a.clone();
[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/util.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |     let mut r = &mut a.clone();
[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/util.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 252 |     let mut r = &mut a.clone();
[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/main.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut r = k.sign_and_verify(&zkp, &Cm2); // k operation (timed)
[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/main.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut gv = G1::one();
[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/main.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut hv = G1::one();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_sign`
[INFO] [stdout]    --> src/main.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let new_sign = uu.send_sig_zkp(t.0, &k, &t.1);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verified`
[INFO] [stdout]    --> src/main.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let verified = verifiable_shuffle::verify_shuffle::<pairing::bls12_381::Bls12>(
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verified`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ACTIVE` is never constructed
[INFO] [stdout]   --> src/util.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum ticket_status {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 23 |     ACTIVE,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ticket_status` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `q` is never read
[INFO] [stdout]   --> src/util.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct curr_sess{
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub q: Fr
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `curr_sess` 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: fields `score` and `bb_sig` are never read
[INFO] [stdout]   --> src/util.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct session{
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 45 |     pub id: Fr,
[INFO] [stdout] 46 |     pub score: Fr,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 47 |     pub bbs_sig: Box<bbs_sign>,
[INFO] [stdout] 48 |     pub bb_sig: G1,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `session` 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: method `print_val` is never used
[INFO] [stdout]   --> src/util.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl session {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 52 |
[INFO] [stdout] 53 |     pub fn print_val(&mut self){
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_val` is never used
[INFO] [stdout]   --> src/util.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl bbs_sign{
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn print_val(&mut self){
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/util.rs:88:9
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub struct bbs_zkp{
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout]  87 |
[INFO] [stdout]  88 |     pub k: u32,
[INFO] [stdout]     |         ^
[INFO] [stdout]  89 |     pub B: Box<Fr>,
[INFO] [stdout]     |         ^
[INFO] [stdout]  90 |     pub A1: Box<G1>,
[INFO] [stdout]     |         ^^
[INFO] [stdout]  91 |     pub A2: Box<G1>,
[INFO] [stdout]     |         ^^
[INFO] [stdout]  92 |     pub T1: Box<G1>,
[INFO] [stdout]     |         ^^
[INFO] [stdout]  93 |     pub T2: Box<G1>,
[INFO] [stdout]     |         ^^
[INFO] [stdout]  94 |     pub z_x: Box<Fr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]  95 |     pub z_s: Box<Fr>, 
[INFO] [stdout]     |         ^^^
[INFO] [stdout]  96 |     pub z_A: Box<Fr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]  97 |     pub z_e: Box<Fr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]  98 |     pub z_B: Box<Fr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]  99 |     pub z_y: Box<Fr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 100 |     pub z: Box<Vec<Fr>>,
[INFO] [stdout]     |         ^
[INFO] [stdout] 101 |     pub challenge: Box<Fr>
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `bbs_zkp` 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 `score_zkp` is never constructed
[INFO] [stdout]    --> src/util.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct score_zkp{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lambda_i`, `gamma_i`, and `theta_i` are never read
[INFO] [stdout]    --> src/util.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct randoms{
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 123 |     pub delta_i: Box<Vec<Fr>>,
[INFO] [stdout] 124 |     pub lambda_i: Box<Vec<Fr>>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 125 |     pub gamma_i: Box<Vec<Fr>>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 126 |     pub theta_i: Box<Vec<Fr>>
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `randoms` 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: function `gen_random_gt` is never used
[INFO] [stdout]    --> src/util.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub fn gen_random_gt(rng: &mut XorShiftRng) -> Fq12 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g1_neg` is never used
[INFO] [stdout]    --> src/util.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub fn g1_neg(a: G1) -> G1 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g2_neg` is never used
[INFO] [stdout]    --> src/util.rs:246:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub fn g2_neg(a: G2) -> G2 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gt_inv` is never used
[INFO] [stdout]    --> src/util.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn gt_inv(a: Fq12) -> Fq12 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_g2` is never used
[INFO] [stdout]    --> src/util.rs:267:8
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub fn print_g2(a: &G2) -> (){
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_gt` is never used
[INFO] [stdout]    --> src/util.rs:271:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub fn print_gt(a: &Fq12) -> (){
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fr_to_bytes` is never used
[INFO] [stdout]    --> src/util.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub fn fr_to_bytes(fr: &Fr) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g2_to_bits` is never used
[INFO] [stdout]    --> src/util.rs:312:8
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub fn g2_to_bits(g2: &G2) -> BitVec {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Verify` is never used
[INFO] [stdout]   --> src/bbs.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl BBS{
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn Verify(&self, msg: &Vec<Fr>, sig: &util::bbs_sign){
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `g1` and `g2` are never read
[INFO] [stdout]   --> src/bb.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct boneh_boyen{
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     g1: Box<G1>,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 23 |     g2: Box<G2>
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `boneh_boyen` 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: method `print_val` is never used
[INFO] [stdout]   --> src/bb.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl boneh_boyen{
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn print_val(&self){
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bb` is never read
[INFO] [stdout]   --> src/sp.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct SP{
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |    pub bb: Box<bb::boneh_boyen>,
[INFO] [stdout]    |        ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SP` 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: variable `Cm` should have a snake case name
[INFO] [stdout]   --> src/main.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let (Cm, y_dash) = uu.Prepare_Cred(&s, &k);
[INFO] [stdout]    |          ^^ help: convert the identifier to snake case (notice the capitalization): `cm`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm2` should have a snake case name
[INFO] [stdout]   --> src/main.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let (Cm2, x_dash) = k.send_x_dash(&Cm); // k operation
[INFO] [stdout]    |          ^^^ help: convert the identifier to snake case (notice the capitalization): `cm2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `K` should have a snake case name
[INFO] [stdout]   --> src/util.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub K: usize,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `M` should have a snake case name
[INFO] [stdout]   --> src/util.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub M: usize,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `A` should have a snake case name
[INFO] [stdout]   --> src/util.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub A: Box<G1>,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `B` should have a snake case name
[INFO] [stdout]   --> src/util.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub B: Box<Fr>,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `A1` should have a snake case name
[INFO] [stdout]   --> src/util.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub A1: Box<G1>,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `a1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `A2` should have a snake case name
[INFO] [stdout]   --> src/util.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub A2: Box<G1>,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `a2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `T1` should have a snake case name
[INFO] [stdout]   --> src/util.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub T1: Box<G1>,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `T2` should have a snake case name
[INFO] [stdout]   --> src/util.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub T2: Box<G1>,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `t2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `z_A` should have a snake case name
[INFO] [stdout]   --> src/util.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub z_A: Box<Fr>,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `z_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `z_B` should have a snake case name
[INFO] [stdout]   --> src/util.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub z_B: Box<Fr>,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `z_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Beta` should have a snake case name
[INFO] [stdout]    --> src/util.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub Beta: Box<Vec<Fr>>,
[INFO] [stdout]     |         ^^^^ help: convert the identifier to snake case: `beta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `D` should have a snake case name
[INFO] [stdout]    --> src/util.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub D: Box<Vec<G1>>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `B` should have a snake case name
[INFO] [stdout]    --> src/util.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub B: Box<Vec<G1>>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `S` should have a snake case name
[INFO] [stdout]    --> src/util.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub S: Box<Vec<G1>>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `T` should have a snake case name
[INFO] [stdout]    --> src/util.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub T: Box<Vec<G1>>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `W` should have a snake case name
[INFO] [stdout]    --> src/util.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub W: Box<Vec<G1>>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `z_Bi` should have a snake case name
[INFO] [stdout]    --> src/util.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub z_Bi: Box<Vec<Fr>>,
[INFO] [stdout]     |         ^^^^ help: convert the identifier to snake case: `z_bi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A1` should have a snake case name
[INFO] [stdout]    --> src/util.rs:373:22
[INFO] [stdout]     |
[INFO] [stdout] 373 | pub fn gen_bbs_sig_c(A1: &G1, A2: &G1, T1: &G1,
[INFO] [stdout]     |                      ^^ help: convert the identifier to snake case: `a1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A2` should have a snake case name
[INFO] [stdout]    --> src/util.rs:373:31
[INFO] [stdout]     |
[INFO] [stdout] 373 | pub fn gen_bbs_sig_c(A1: &G1, A2: &G1, T1: &G1,
[INFO] [stdout]     |                               ^^ help: convert the identifier to snake case: `a2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T1` should have a snake case name
[INFO] [stdout]    --> src/util.rs:373:40
[INFO] [stdout]     |
[INFO] [stdout] 373 | pub fn gen_bbs_sig_c(A1: &G1, A2: &G1, T1: &G1,
[INFO] [stdout]     |                                        ^^ help: convert the identifier to snake case: `t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T2` should have a snake case name
[INFO] [stdout]    --> src/util.rs:374:22
[INFO] [stdout]     |
[INFO] [stdout] 374 |                      T2: &G1, R_x: &G1, R_s: &G1, R_t: &Vec<G1>, R: &Fq12) -> Fr{
[INFO] [stdout]     |                      ^^ help: convert the identifier to snake case: `t2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_x` should have a snake case name
[INFO] [stdout]    --> src/util.rs:374:31
[INFO] [stdout]     |
[INFO] [stdout] 374 |                      T2: &G1, R_x: &G1, R_s: &G1, R_t: &Vec<G1>, R: &Fq12) -> Fr{
[INFO] [stdout]     |                               ^^^ help: convert the identifier to snake case: `r_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_s` should have a snake case name
[INFO] [stdout]    --> src/util.rs:374:41
[INFO] [stdout]     |
[INFO] [stdout] 374 |                      T2: &G1, R_x: &G1, R_s: &G1, R_t: &Vec<G1>, R: &Fq12) -> Fr{
[INFO] [stdout]     |                                         ^^^ help: convert the identifier to snake case: `r_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_t` should have a snake case name
[INFO] [stdout]    --> src/util.rs:374:51
[INFO] [stdout]     |
[INFO] [stdout] 374 |                      T2: &G1, R_x: &G1, R_s: &G1, R_t: &Vec<G1>, R: &Fq12) -> Fr{
[INFO] [stdout]     |                                                   ^^^ help: convert the identifier to snake case: `r_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/util.rs:374:66
[INFO] [stdout]     |
[INFO] [stdout] 374 |                      T2: &G1, R_x: &G1, R_s: &G1, R_t: &Vec<G1>, R: &Fq12) -> Fr{
[INFO] [stdout]     |                                                                  ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]   --> src/bbs.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |         for n in 0..(rr.k+4) {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Infallible>
[INFO] [stdout]    --> src/util.rs:386:50
[INFO] [stdout]     |
[INFO] [stdout] 386 |             combined_bits.extend(g1_to_bits(&R_t[usize::try_from(i).unwrap()]));
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Setup` should have a snake case name
[INFO] [stdout]   --> src/bbs.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn Setup(k: u32) -> BBS{
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to snake case (notice the capitalization): `setup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Sign` should have a snake case name
[INFO] [stdout]   --> src/bbs.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn Sign(&self, msg: Box<Vec<Fr>>) -> util::bbs_sign{
[INFO] [stdout]    |            ^^^^ help: convert the identifier to snake case (notice the capitalization): `sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/bbs.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let A = util::mul_g1_fr(h0, &util::fr_inv(util::add_fr_fr(e, &self.sk)));
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bbs.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut h0 = *self.gen_g1[0].as_ref();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `h0`
[INFO] [stdout]    --> src/bbs.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut h0 = *self.gen_g1[0].as_ref();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_h0`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Verify` should have a snake case name
[INFO] [stdout]   --> src/bbs.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn Verify(&self, msg: &Vec<Fr>, sig: &util::bbs_sign){
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `verify`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Sign_commitment` should have a snake case name
[INFO] [stdout]   --> src/bbs.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn Sign_commitment(&self, comm: &G1) -> util::bbs_sign{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `sign_commitment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/bbs.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let A = util::mul_g1_fr(h0, &util::fr_inv(util::add_fr_fr(*self.sk, &e)));
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Verify_sign_commitment` should have a snake case name
[INFO] [stdout]    --> src/bbs.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn Verify_sign_commitment(self: &BBS, comm: &G1, sig: &util::bbs_sign) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `verify_sign_commitment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Setup` should have a snake case name
[INFO] [stdout]   --> src/bb.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn Setup() -> boneh_boyen{
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to snake case (notice the capitalization): `setup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Sign` should have a snake case name
[INFO] [stdout]   --> src/bb.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn Sign(&self, t: &Fr) -> G1{
[INFO] [stdout]    |            ^^^^ help: convert the identifier to snake case (notice the capitalization): `sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Setup` should have a snake case name
[INFO] [stdout]   --> src/sp.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Setup(size: u32) -> Box<SP>{
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to snake case (notice the capitalization): `setup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm` should have a snake case name
[INFO] [stdout]   --> src/sp.rs:78:35
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn send_x_dash(&mut self, Cm: &Box<G1>) -> (Box<G1>, Fr){
[INFO] [stdout]    |                                   ^^ help: convert the identifier to snake case (notice the capitalization): `cm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm_dash` should have a snake case name
[INFO] [stdout]   --> src/sp.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let mut Cm_dash = *(*Cm).clone();
[INFO] [stdout]    |                 ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cm_dash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Setup` should have a snake case name
[INFO] [stdout]   --> src/user.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn Setup(se: &Box<sp::SP>) -> Box<User>{
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to snake case (notice the capitalization): `setup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Prepare_Cred` should have a snake case name
[INFO] [stdout]   --> src/user.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Prepare_Cred(&mut self,size: &Fr, service_provider: &Box<sp::SP>) -> (Box<G1>, Fr){
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `prepare_cred`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm_dash` should have a snake case name
[INFO] [stdout]   --> src/user.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut Cm_dash = Box::new(util::add_g1_g1(util::mul_g1_fr(*h_list[1], &cred.x),util::mul_g1_fr(*h_list[2], &cred.q)));
[INFO] [stdout]    |                 ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cm_dash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ZKP` should have a snake case name
[INFO] [stdout]   --> src/user.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |             let ZKP = self.create_reg_zkp(sp, y_dash.clone());
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `zkp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm_dash` should have a snake case name
[INFO] [stdout]   --> src/user.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut Cm_dash = Box::new(util::add_g1_g1(util::mul_g1_fr(*h_list[1], &r_x), util::mul_g1_fr(*h_list[2], &r_q)));
[INFO] [stdout]    |                 ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cm_dash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm` should have a snake case name
[INFO] [stdout]    --> src/user.rs:132:77
[INFO] [stdout]     |
[INFO] [stdout] 132 | ...ce_provider: &Box<sp::SP>, Cm: &Box<G1>, sig: &mut Box<util::bbs_sign>, y_dash: Fr) -> bool{
[INFO] [stdout]     |                               ^^ help: convert the identifier to snake case (notice the capitalization): `cm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `r_A` should have a snake case name
[INFO] [stdout]    --> src/user.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let r_A = util::gen_random_fr(rng.borrow_mut());
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `r_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `r_B` should have a snake case name
[INFO] [stdout]    --> src/user.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let r_B = util::gen_random_fr(rng.borrow_mut());
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `r_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/user.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let B = util::mul_fr_fr(r_A, &self.sig.e);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A_1` should have a snake case name
[INFO] [stdout]    --> src/user.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let A_1 = util::add_g1_g1(*self.sig.A, util::mul_g1_fr(*(*sp).bbs_ticket.gen_g1[0],&r_A));
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `a_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/sp.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |             let mut h = Box::new(util::session{
[INFO] [stdout]    |                 ----^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A_2` should have a snake case name
[INFO] [stdout]    --> src/user.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let A_2 = util::mul_g1_fr(*(*sp).bbs_ticket.gen_g1[1],&r_A);
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `a_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T_1` should have a snake case name
[INFO] [stdout]    --> src/user.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let T_1 = util::mul_g1_fr(*(*sp).bbs_ticket.gen_g1[1],&r_t);
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `t_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]   --> src/sp.rs:57:13
[INFO] [stdout]    |
[INFO] [stdout] 57 |         for j in 0..size {
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T_2` should have a snake case name
[INFO] [stdout]    --> src/user.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let T_2 = util::add_g1_g1(util::mul_g1_fr(A_2, &util::fr_neg(r_e)), util::mul_g1_fr(*(*sp).bbs_ticket.gen_g1[1], &r_B));
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `t_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_x` should have a snake case name
[INFO] [stdout]    --> src/user.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let R_x = util::mul_g1_fr(G1::one(), &r_x);
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `r_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_s` should have a snake case name
[INFO] [stdout]    --> src/user.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let R_s = util::mul_g1_fr(G1::one(), &r_s);
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `r_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_t` should have a snake case name
[INFO] [stdout]    --> src/user.rs:184:17
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let mut R_t = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `r_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/user.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 | ...   let mut R = util::do_pairing(&(*(*sp).bbs_ticket.gen_g1[1]).into_affine(), &util::mul_g2_fr(*(*sp).bbs_ticket.gen_g2, &r_x).into_af...
[INFO] [stdout]     |               ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `z_A` should have a snake case name
[INFO] [stdout]    --> src/user.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let z_A = util::add_fr_fr(r_t, &util::mul_fr_fr(challenge, &r_A));
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `z_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `z_B` should have a snake case name
[INFO] [stdout]    --> src/user.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |         let z_B = util::add_fr_fr(r_B, &util::mul_fr_fr(challenge, &B));
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `z_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `r_Bi` should have a snake case name
[INFO] [stdout]    --> src/user.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let mut r_Bi = Vec::new();
[INFO] [stdout]     |                 ^^^^ help: convert the identifier to snake case: `r_bi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Beta_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:279:17
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let mut Beta_i = Vec::new();
[INFO] [stdout]     |                 ^^^^^^ help: convert the identifier to snake case: `beta_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sp.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |         for i in 0..k {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sp.rs:131:13
[INFO] [stdout]     |
[INFO] [stdout] 131 |         for i in 0..(self.curr_session.K - self.curr_session.M) {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/sp.rs:136:13
[INFO] [stdout]     |
[INFO] [stdout] 136 |         for i in 0..(self.curr_session.M) {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let mut D_i = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `d_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:281:17
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let mut B_i = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `b_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `S_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let mut S_i = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case (notice the capitalization): `s_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:283:17
[INFO] [stdout]     |
[INFO] [stdout] 283 |         let mut T_i = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `t_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `W_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:284:17
[INFO] [stdout]     |
[INFO] [stdout] 284 |         let mut W_i = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case (notice the capitalization): `w_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `di_rBi` should have a snake case name
[INFO] [stdout]    --> src/user.rs:298:17
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut di_rBi = util::mul_fr_fr((*ran).delta_i[0], &r_Bi[0]);
[INFO] [stdout]     |                 ^^^^^^ help: convert the identifier to snake case: `di_r_bi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `RL` should have a snake case name
[INFO] [stdout]    --> src/user.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 | ...   let mut RL = util::do_pairing(&(*(*sp).bbs_ticket.gen_g1[1]).into_affine(), &util::mul_g2_fr(*(*sp).bbs_ticket.gen_g2, &di_ri).into...
[INFO] [stdout]     |               ^^ help: convert the identifier to snake case: `rl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/user.rs:316:17
[INFO] [stdout]     |
[INFO] [stdout] 316 |         let mut D = D_i[0];
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `V` should have a snake case name
[INFO] [stdout]    --> src/user.rs:324:17
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let mut V = (self.serv.score_sig[0]).clone();
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case (notice the capitalization): `v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_s` should have a snake case name
[INFO] [stdout]    --> src/user.rs:333:17
[INFO] [stdout]     |
[INFO] [stdout] 333 |         let mut R_s = util::do_pairing(&G1Affine::one(),&util::mul_g2_fr(*sp.bbs_score.gen_g2, &r_v).into_affine());
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `r_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]   --> src/user.rs:38:35
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Prepare_Cred(&mut self,size: &Fr, service_provider: &Box<sp::SP>) -> (Box<G1>, Fr){
[INFO] [stdout]    |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/user.rs:56:14
[INFO] [stdout]    |
[INFO] [stdout] 56 |         for (i, ele) in sess_list.into_iter().enumerate()  {
[INFO] [stdout]    |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/user.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout] 147 |          let mut rng = XorShiftRng::from_seed([0x5dbe6259, 0x8d313d76, 0x3237db17, 0xe5bc0654]);
[INFO] [stdout]     |              ----^^^
[INFO] [stdout]     |              |
[INFO] [stdout]     |              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/user.rs:147:14
[INFO] [stdout]     |
[INFO] [stdout] 147 |          let mut rng = XorShiftRng::from_seed([0x5dbe6259, 0x8d313d76, 0x3237db17, 0xe5bc0654]);
[INFO] [stdout]     |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/user.rs:150:22
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 for (j, tick) in (*sp).session_list.clone().into_iter().enumerate(){
[INFO] [stdout]     |                      ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/user.rs:309:13
[INFO] [stdout]     |
[INFO] [stdout] 309 | ...   let mut RL = util::do_pairing(&(*(*sp).bbs_ticket.gen_g1[1]).into_affine(), &util::mul_g2_fr(*(*sp).bbs_ticket.gen_g2, &di_ri).into...
[INFO] [stdout]     |           ----^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bls` (bin "bls") due to 1 previous error; 195 warnings emitted
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]    --> src/user.rs:161:36
[INFO] [stdout]     |
[INFO] [stdout] 161 |     pub fn send_sig_zkp(&mut self, t: Fr, sp: &Box<sp::SP>, ran: &Box<util::randoms>){
[INFO] [stdout]     |                                    ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/user.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         for i in 0..self.k{
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `zkp_sig`
[INFO] [stdout]    --> src/user.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |         let zkp_sig = util::bbs_zkp{
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_zkp_sig`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/user.rs:252:14
[INFO] [stdout]     |
[INFO] [stdout] 252 |         for (i, val) in self.cred.tickets.clone().into_iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `j`
[INFO] [stdout]    --> src/user.rs:253:18
[INFO] [stdout]     |
[INFO] [stdout] 253 |             for (j, val2) in sp.session_list.clone().into_iter().enumerate() {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_j`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/user.rs:269:13
[INFO] [stdout]     |
[INFO] [stdout] 269 |         for i in 0..self.k {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `RL`
[INFO] [stdout]    --> src/user.rs:309:13
[INFO] [stdout]     |
[INFO] [stdout] 309 | ...   let mut RL = util::do_pairing(&(*(*sp).bbs_ticket.gen_g1[1]).into_affine(), &util::mul_g2_fr(*(*sp).bbs_ticket.gen_g2, &di_ri).into...
[INFO] [stdout]     |           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_RL`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `R` is never read
[INFO] [stdout]    --> src/user.rs:320:9
[INFO] [stdout]     |
[INFO] [stdout] 320 | ...   R = util::mul_fq12_fq12(R, util::do_pairing(&D.into_affine(), &util::mul_g2_fr(*(*sp).bbs_ticket.gen_g2, &util::fr_neg(di_rei)).into_affine()));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `R_s` is never read
[INFO] [stdout]    --> src/user.rs:334:9
[INFO] [stdout]     |
[INFO] [stdout] 334 |         R_s = util::add_fq12_fq12(R_s, util::do_pairing(&(*V).into_affine(), &util::mul_g2_fr(*sp.bbs_score.gen_g2, &summ).into_affine()));
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `i` is assigned to, but never used
[INFO] [stdout]   --> src/verifiable_shuffle.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut i = 0;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: consider using `_i` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `i` is never read
[INFO] [stdout]   --> src/verifiable_shuffle.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 33 |         i += 1;
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut r = k.sign_and_verify(&zkp, &Cm2); // k operation (timed)
[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/main.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     let mut gv = G1::one();
[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/main.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     let mut hv = G1::one();
[INFO] [stdout]     |         ----^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_sign`
[INFO] [stdout]    --> src/main.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     let new_sign = uu.send_sig_zkp(t.0, &k, &t.1);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `verified`
[INFO] [stdout]    --> src/main.rs:116:9
[INFO] [stdout]     |
[INFO] [stdout] 116 |     let verified = verifiable_shuffle::verify_shuffle::<pairing::bls12_381::Bls12>(
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verified`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ACTIVE` is never constructed
[INFO] [stdout]   --> src/util.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum ticket_status {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] 23 |     ACTIVE,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ticket_status` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `q` is never read
[INFO] [stdout]   --> src/util.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct curr_sess{
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub q: Fr
[INFO] [stdout]    |         ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `curr_sess` 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: fields `score` and `bb_sig` are never read
[INFO] [stdout]   --> src/util.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct session{
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 45 |     pub id: Fr,
[INFO] [stdout] 46 |     pub score: Fr,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 47 |     pub bbs_sig: Box<bbs_sign>,
[INFO] [stdout] 48 |     pub bb_sig: G1,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `session` 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: method `print_val` is never used
[INFO] [stdout]   --> src/util.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl session {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] 52 |
[INFO] [stdout] 53 |     pub fn print_val(&mut self){
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_val` is never used
[INFO] [stdout]   --> src/util.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 67 | impl bbs_sign{
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 68 |
[INFO] [stdout] 69 |     pub fn print_val(&mut self){
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/util.rs:88:9
[INFO] [stdout]     |
[INFO] [stdout]  86 | pub struct bbs_zkp{
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout]  87 |
[INFO] [stdout]  88 |     pub k: u32,
[INFO] [stdout]     |         ^
[INFO] [stdout]  89 |     pub B: Box<Fr>,
[INFO] [stdout]     |         ^
[INFO] [stdout]  90 |     pub A1: Box<G1>,
[INFO] [stdout]     |         ^^
[INFO] [stdout]  91 |     pub A2: Box<G1>,
[INFO] [stdout]     |         ^^
[INFO] [stdout]  92 |     pub T1: Box<G1>,
[INFO] [stdout]     |         ^^
[INFO] [stdout]  93 |     pub T2: Box<G1>,
[INFO] [stdout]     |         ^^
[INFO] [stdout]  94 |     pub z_x: Box<Fr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]  95 |     pub z_s: Box<Fr>, 
[INFO] [stdout]     |         ^^^
[INFO] [stdout]  96 |     pub z_A: Box<Fr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]  97 |     pub z_e: Box<Fr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]  98 |     pub z_B: Box<Fr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]  99 |     pub z_y: Box<Fr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 100 |     pub z: Box<Vec<Fr>>,
[INFO] [stdout]     |         ^
[INFO] [stdout] 101 |     pub challenge: Box<Fr>
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `bbs_zkp` 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 `score_zkp` is never constructed
[INFO] [stdout]    --> src/util.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct score_zkp{
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lambda_i`, `gamma_i`, and `theta_i` are never read
[INFO] [stdout]    --> src/util.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct randoms{
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 123 |     pub delta_i: Box<Vec<Fr>>,
[INFO] [stdout] 124 |     pub lambda_i: Box<Vec<Fr>>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 125 |     pub gamma_i: Box<Vec<Fr>>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 126 |     pub theta_i: Box<Vec<Fr>>
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `randoms` 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: function `gen_random_gt` is never used
[INFO] [stdout]    --> src/util.rs:177:8
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub fn gen_random_gt(rng: &mut XorShiftRng) -> Fq12 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g1_neg` is never used
[INFO] [stdout]    --> src/util.rs:240:8
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub fn g1_neg(a: G1) -> G1 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g2_neg` is never used
[INFO] [stdout]    --> src/util.rs:246:8
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub fn g2_neg(a: G2) -> G2 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gt_inv` is never used
[INFO] [stdout]    --> src/util.rs:251:8
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub fn gt_inv(a: Fq12) -> Fq12 {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_g2` is never used
[INFO] [stdout]    --> src/util.rs:267:8
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub fn print_g2(a: &G2) -> (){
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `print_gt` is never used
[INFO] [stdout]    --> src/util.rs:271:8
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub fn print_gt(a: &Fq12) -> (){
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fr_to_bytes` is never used
[INFO] [stdout]    --> src/util.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub fn fr_to_bytes(fr: &Fr) -> Vec<u8> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `g2_to_bits` is never used
[INFO] [stdout]    --> src/util.rs:312:8
[INFO] [stdout]     |
[INFO] [stdout] 312 | pub fn g2_to_bits(g2: &G2) -> BitVec {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Verify` is never used
[INFO] [stdout]   --> src/bbs.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl BBS{
[INFO] [stdout]    | -------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn Verify(&self, msg: &Vec<Fr>, sig: &util::bbs_sign){
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `g1` and `g2` are never read
[INFO] [stdout]   --> src/bb.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct boneh_boyen{
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     g1: Box<G1>,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 23 |     g2: Box<G2>
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `boneh_boyen` 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: method `print_val` is never used
[INFO] [stdout]   --> src/bb.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl boneh_boyen{
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn print_val(&self){
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `bb` is never read
[INFO] [stdout]   --> src/sp.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct SP{
[INFO] [stdout]    |            -- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |    pub bb: Box<bb::boneh_boyen>,
[INFO] [stdout]    |        ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SP` 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: variable `Cm` should have a snake case name
[INFO] [stdout]   --> src/main.rs:77:10
[INFO] [stdout]    |
[INFO] [stdout] 77 |     let (Cm, y_dash) = uu.Prepare_Cred(&s, &k);
[INFO] [stdout]    |          ^^ help: convert the identifier to snake case (notice the capitalization): `cm`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm2` should have a snake case name
[INFO] [stdout]   --> src/main.rs:82:10
[INFO] [stdout]    |
[INFO] [stdout] 82 |     let (Cm2, x_dash) = k.send_x_dash(&Cm); // k operation
[INFO] [stdout]    |          ^^^ help: convert the identifier to snake case (notice the capitalization): `cm2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `K` should have a snake case name
[INFO] [stdout]   --> src/util.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub K: usize,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case (notice the capitalization): `k`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `M` should have a snake case name
[INFO] [stdout]   --> src/util.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub M: usize,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `m`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `A` should have a snake case name
[INFO] [stdout]   --> src/util.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub A: Box<G1>,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `B` should have a snake case name
[INFO] [stdout]   --> src/util.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub B: Box<Fr>,
[INFO] [stdout]    |         ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `A1` should have a snake case name
[INFO] [stdout]   --> src/util.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub A1: Box<G1>,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `a1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `A2` should have a snake case name
[INFO] [stdout]   --> src/util.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub A2: Box<G1>,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `a2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `T1` should have a snake case name
[INFO] [stdout]   --> src/util.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub T1: Box<G1>,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `T2` should have a snake case name
[INFO] [stdout]   --> src/util.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub T2: Box<G1>,
[INFO] [stdout]    |         ^^ help: convert the identifier to snake case: `t2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `z_A` should have a snake case name
[INFO] [stdout]   --> src/util.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub z_A: Box<Fr>,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `z_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `z_B` should have a snake case name
[INFO] [stdout]   --> src/util.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub z_B: Box<Fr>,
[INFO] [stdout]    |         ^^^ help: convert the identifier to snake case: `z_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `Beta` should have a snake case name
[INFO] [stdout]    --> src/util.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub Beta: Box<Vec<Fr>>,
[INFO] [stdout]     |         ^^^^ help: convert the identifier to snake case: `beta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `D` should have a snake case name
[INFO] [stdout]    --> src/util.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub D: Box<Vec<G1>>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `B` should have a snake case name
[INFO] [stdout]    --> src/util.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub B: Box<Vec<G1>>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `S` should have a snake case name
[INFO] [stdout]    --> src/util.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub S: Box<Vec<G1>>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `T` should have a snake case name
[INFO] [stdout]    --> src/util.rs:111:9
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub T: Box<Vec<G1>>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case: `t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `W` should have a snake case name
[INFO] [stdout]    --> src/util.rs:112:9
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub W: Box<Vec<G1>>,
[INFO] [stdout]     |         ^ help: convert the identifier to snake case (notice the capitalization): `w`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: structure field `z_Bi` should have a snake case name
[INFO] [stdout]    --> src/util.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub z_Bi: Box<Vec<Fr>>,
[INFO] [stdout]     |         ^^^^ help: convert the identifier to snake case: `z_bi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A1` should have a snake case name
[INFO] [stdout]    --> src/util.rs:373:22
[INFO] [stdout]     |
[INFO] [stdout] 373 | pub fn gen_bbs_sig_c(A1: &G1, A2: &G1, T1: &G1,
[INFO] [stdout]     |                      ^^ help: convert the identifier to snake case: `a1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A2` should have a snake case name
[INFO] [stdout]    --> src/util.rs:373:31
[INFO] [stdout]     |
[INFO] [stdout] 373 | pub fn gen_bbs_sig_c(A1: &G1, A2: &G1, T1: &G1,
[INFO] [stdout]     |                               ^^ help: convert the identifier to snake case: `a2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T1` should have a snake case name
[INFO] [stdout]    --> src/util.rs:373:40
[INFO] [stdout]     |
[INFO] [stdout] 373 | pub fn gen_bbs_sig_c(A1: &G1, A2: &G1, T1: &G1,
[INFO] [stdout]     |                                        ^^ help: convert the identifier to snake case: `t1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T2` should have a snake case name
[INFO] [stdout]    --> src/util.rs:374:22
[INFO] [stdout]     |
[INFO] [stdout] 374 |                      T2: &G1, R_x: &G1, R_s: &G1, R_t: &Vec<G1>, R: &Fq12) -> Fr{
[INFO] [stdout]     |                      ^^ help: convert the identifier to snake case: `t2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_x` should have a snake case name
[INFO] [stdout]    --> src/util.rs:374:31
[INFO] [stdout]     |
[INFO] [stdout] 374 |                      T2: &G1, R_x: &G1, R_s: &G1, R_t: &Vec<G1>, R: &Fq12) -> Fr{
[INFO] [stdout]     |                               ^^^ help: convert the identifier to snake case: `r_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_s` should have a snake case name
[INFO] [stdout]    --> src/util.rs:374:41
[INFO] [stdout]     |
[INFO] [stdout] 374 |                      T2: &G1, R_x: &G1, R_s: &G1, R_t: &Vec<G1>, R: &Fq12) -> Fr{
[INFO] [stdout]     |                                         ^^^ help: convert the identifier to snake case: `r_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_t` should have a snake case name
[INFO] [stdout]    --> src/util.rs:374:51
[INFO] [stdout]     |
[INFO] [stdout] 374 |                      T2: &G1, R_x: &G1, R_s: &G1, R_t: &Vec<G1>, R: &Fq12) -> Fr{
[INFO] [stdout]     |                                                   ^^^ help: convert the identifier to snake case: `r_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/util.rs:374:66
[INFO] [stdout]     |
[INFO] [stdout] 374 |                      T2: &G1, R_x: &G1, R_s: &G1, R_t: &Vec<G1>, R: &Fq12) -> Fr{
[INFO] [stdout]     |                                                                  ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<usize, Infallible>
[INFO] [stdout]    --> src/util.rs:386:50
[INFO] [stdout]     |
[INFO] [stdout] 386 |             combined_bits.extend(g1_to_bits(&R_t[usize::try_from(i).unwrap()]));
[INFO] [stdout]     |                                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Setup` should have a snake case name
[INFO] [stdout]   --> src/bbs.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn Setup(k: u32) -> BBS{
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to snake case (notice the capitalization): `setup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Sign` should have a snake case name
[INFO] [stdout]   --> src/bbs.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn Sign(&self, msg: Box<Vec<Fr>>) -> util::bbs_sign{
[INFO] [stdout]    |            ^^^^ help: convert the identifier to snake case (notice the capitalization): `sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]   --> src/bbs.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         let A = util::mul_g1_fr(h0, &util::fr_inv(util::add_fr_fr(e, &self.sk)));
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Verify` should have a snake case name
[INFO] [stdout]   --> src/bbs.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn Verify(&self, msg: &Vec<Fr>, sig: &util::bbs_sign){
[INFO] [stdout]    |            ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `verify`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Sign_commitment` should have a snake case name
[INFO] [stdout]   --> src/bbs.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn Sign_commitment(&self, comm: &G1) -> util::bbs_sign{
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `sign_commitment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A` should have a snake case name
[INFO] [stdout]    --> src/bbs.rs:102:13
[INFO] [stdout]     |
[INFO] [stdout] 102 |         let A = util::mul_g1_fr(h0, &util::fr_inv(util::add_fr_fr(*self.sk, &e)));
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Verify_sign_commitment` should have a snake case name
[INFO] [stdout]    --> src/bbs.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 |     pub fn Verify_sign_commitment(self: &BBS, comm: &G1, sig: &util::bbs_sign) -> bool{
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `verify_sign_commitment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Setup` should have a snake case name
[INFO] [stdout]   --> src/bb.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn Setup() -> boneh_boyen{
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to snake case (notice the capitalization): `setup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Sign` should have a snake case name
[INFO] [stdout]   --> src/bb.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn Sign(&self, t: &Fr) -> G1{
[INFO] [stdout]    |            ^^^^ help: convert the identifier to snake case (notice the capitalization): `sign`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Setup` should have a snake case name
[INFO] [stdout]   --> src/sp.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Setup(size: u32) -> Box<SP>{
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to snake case (notice the capitalization): `setup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm` should have a snake case name
[INFO] [stdout]   --> src/sp.rs:78:35
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn send_x_dash(&mut self, Cm: &Box<G1>) -> (Box<G1>, Fr){
[INFO] [stdout]    |                                   ^^ help: convert the identifier to snake case (notice the capitalization): `cm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm_dash` should have a snake case name
[INFO] [stdout]   --> src/sp.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 |         let mut Cm_dash = *(*Cm).clone();
[INFO] [stdout]    |                 ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cm_dash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Setup` should have a snake case name
[INFO] [stdout]   --> src/user.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn Setup(se: &Box<sp::SP>) -> Box<User>{
[INFO] [stdout]    |            ^^^^^ help: convert the identifier to snake case (notice the capitalization): `setup`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `Prepare_Cred` should have a snake case name
[INFO] [stdout]   --> src/user.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn Prepare_Cred(&mut self,size: &Fr, service_provider: &Box<sp::SP>) -> (Box<G1>, Fr){
[INFO] [stdout]    |            ^^^^^^^^^^^^ help: convert the identifier to snake case: `prepare_cred`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm_dash` should have a snake case name
[INFO] [stdout]   --> src/user.rs:63:17
[INFO] [stdout]    |
[INFO] [stdout] 63 |         let mut Cm_dash = Box::new(util::add_g1_g1(util::mul_g1_fr(*h_list[1], &cred.x),util::mul_g1_fr(*h_list[2], &cred.q)));
[INFO] [stdout]    |                 ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cm_dash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `ZKP` should have a snake case name
[INFO] [stdout]   --> src/user.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |             let ZKP = self.create_reg_zkp(sp, y_dash.clone());
[INFO] [stdout]    |                 ^^^ help: convert the identifier to snake case: `zkp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm_dash` should have a snake case name
[INFO] [stdout]   --> src/user.rs:96:17
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut Cm_dash = Box::new(util::add_g1_g1(util::mul_g1_fr(*h_list[1], &r_x), util::mul_g1_fr(*h_list[2], &r_q)));
[INFO] [stdout]    |                 ^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `cm_dash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Cm` should have a snake case name
[INFO] [stdout]    --> src/user.rs:132:77
[INFO] [stdout]     |
[INFO] [stdout] 132 | ...ce_provider: &Box<sp::SP>, Cm: &Box<G1>, sig: &mut Box<util::bbs_sign>, y_dash: Fr) -> bool{
[INFO] [stdout]     |                               ^^ help: convert the identifier to snake case (notice the capitalization): `cm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `r_A` should have a snake case name
[INFO] [stdout]    --> src/user.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 163 |         let r_A = util::gen_random_fr(rng.borrow_mut());
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `r_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `r_B` should have a snake case name
[INFO] [stdout]    --> src/user.rs:166:13
[INFO] [stdout]     |
[INFO] [stdout] 166 |         let r_B = util::gen_random_fr(rng.borrow_mut());
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `r_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B` should have a snake case name
[INFO] [stdout]    --> src/user.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let B = util::mul_fr_fr(r_A, &self.sig.e);
[INFO] [stdout]     |             ^ help: convert the identifier to snake case: `b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A_1` should have a snake case name
[INFO] [stdout]    --> src/user.rs:176:13
[INFO] [stdout]     |
[INFO] [stdout] 176 |         let A_1 = util::add_g1_g1(*self.sig.A, util::mul_g1_fr(*(*sp).bbs_ticket.gen_g1[0],&r_A));
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `a_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `A_2` should have a snake case name
[INFO] [stdout]    --> src/user.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |         let A_2 = util::mul_g1_fr(*(*sp).bbs_ticket.gen_g1[1],&r_A);
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `a_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T_1` should have a snake case name
[INFO] [stdout]    --> src/user.rs:179:13
[INFO] [stdout]     |
[INFO] [stdout] 179 |         let T_1 = util::mul_g1_fr(*(*sp).bbs_ticket.gen_g1[1],&r_t);
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `t_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T_2` should have a snake case name
[INFO] [stdout]    --> src/user.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |         let T_2 = util::add_g1_g1(util::mul_g1_fr(A_2, &util::fr_neg(r_e)), util::mul_g1_fr(*(*sp).bbs_ticket.gen_g1[1], &r_B));
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `t_2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_x` should have a snake case name
[INFO] [stdout]    --> src/user.rs:182:13
[INFO] [stdout]     |
[INFO] [stdout] 182 |         let R_x = util::mul_g1_fr(G1::one(), &r_x);
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `r_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_s` should have a snake case name
[INFO] [stdout]    --> src/user.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |         let R_s = util::mul_g1_fr(G1::one(), &r_s);
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `r_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_t` should have a snake case name
[INFO] [stdout]    --> src/user.rs:184:17
[INFO] [stdout]     |
[INFO] [stdout] 184 |         let mut R_t = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `r_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]    --> src/user.rs:190:17
[INFO] [stdout]     |
[INFO] [stdout] 190 | ...   let mut R = util::do_pairing(&(*(*sp).bbs_ticket.gen_g1[1]).into_affine(), &util::mul_g2_fr(*(*sp).bbs_ticket.gen_g2, &r_x).into_af...
[INFO] [stdout]     |               ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `z_A` should have a snake case name
[INFO] [stdout]    --> src/user.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let z_A = util::add_fr_fr(r_t, &util::mul_fr_fr(challenge, &r_A));
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `z_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `z_B` should have a snake case name
[INFO] [stdout]    --> src/user.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |         let z_B = util::add_fr_fr(r_B, &util::mul_fr_fr(challenge, &B));
[INFO] [stdout]     |             ^^^ help: convert the identifier to snake case: `z_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `r_Bi` should have a snake case name
[INFO] [stdout]    --> src/user.rs:266:17
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let mut r_Bi = Vec::new();
[INFO] [stdout]     |                 ^^^^ help: convert the identifier to snake case: `r_bi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Beta_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:279:17
[INFO] [stdout]     |
[INFO] [stdout] 279 |         let mut Beta_i = Vec::new();
[INFO] [stdout]     |                 ^^^^^^ help: convert the identifier to snake case: `beta_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:280:17
[INFO] [stdout]     |
[INFO] [stdout] 280 |         let mut D_i = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `d_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `B_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:281:17
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let mut B_i = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `b_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `S_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let mut S_i = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case (notice the capitalization): `s_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `T_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:283:17
[INFO] [stdout]     |
[INFO] [stdout] 283 |         let mut T_i = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `t_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `W_i` should have a snake case name
[INFO] [stdout]    --> src/user.rs:284:17
[INFO] [stdout]     |
[INFO] [stdout] 284 |         let mut W_i = Vec::new();
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case (notice the capitalization): `w_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `di_rBi` should have a snake case name
[INFO] [stdout]    --> src/user.rs:298:17
[INFO] [stdout]     |
[INFO] [stdout] 298 |         let mut di_rBi = util::mul_fr_fr((*ran).delta_i[0], &r_Bi[0]);
[INFO] [stdout]     |                 ^^^^^^ help: convert the identifier to snake case: `di_r_bi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `RL` should have a snake case name
[INFO] [stdout]    --> src/user.rs:309:17
[INFO] [stdout]     |
[INFO] [stdout] 309 | ...   let mut RL = util::do_pairing(&(*(*sp).bbs_ticket.gen_g1[1]).into_affine(), &util::mul_g2_fr(*(*sp).bbs_ticket.gen_g2, &di_ri).into...
[INFO] [stdout]     |               ^^ help: convert the identifier to snake case: `rl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `D` should have a snake case name
[INFO] [stdout]    --> src/user.rs:316:17
[INFO] [stdout]     |
[INFO] [stdout] 316 |         let mut D = D_i[0];
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case: `d`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `V` should have a snake case name
[INFO] [stdout]    --> src/user.rs:324:17
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let mut V = (self.serv.score_sig[0]).clone();
[INFO] [stdout]     |                 ^ help: convert the identifier to snake case (notice the capitalization): `v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R_s` should have a snake case name
[INFO] [stdout]    --> src/user.rs:333:17
[INFO] [stdout]     |
[INFO] [stdout] 333 |         let mut R_s = util::do_pairing(&G1Affine::one(),&util::mul_g2_fr(*sp.bbs_score.gen_g2, &r_v).into_affine());
[INFO] [stdout]     |                 ^^^ help: convert the identifier to snake case: `r_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bls` (bin "bls" test) due to 1 previous error; 195 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "de9c7adc3281144efdc002a8ac32123c3d09bc6e10dd66a129858f7173fb0e9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "de9c7adc3281144efdc002a8ac32123c3d09bc6e10dd66a129858f7173fb0e9e", kill_on_drop: false }`
[INFO] [stdout] de9c7adc3281144efdc002a8ac32123c3d09bc6e10dd66a129858f7173fb0e9e
