[INFO] cloning repository https://github.com/KryptSai/SECP256K1_Curve
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/KryptSai/SECP256K1_Curve" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKryptSai%2FSECP256K1_Curve", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKryptSai%2FSECP256K1_Curve'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 075a8f771ce805377d2ad19780fb5a79bd7d04ef
[INFO] checking KryptSai/SECP256K1_Curve against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FKryptSai%2FSECP256K1_Curve" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/KryptSai/SECP256K1_Curve
[INFO] finished tweaking git repo https://github.com/KryptSai/SECP256K1_Curve
[INFO] tweaked toml for git repo https://github.com/KryptSai/SECP256K1_Curve written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/KryptSai/SECP256K1_Curve on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/KryptSai/SECP256K1_Curve 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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b3fbf7158d0c54c27c2f99c1f22466b6774a3567a67f949597c5a5538dc6fce4
[INFO] running `Command { std: "docker" "start" "-a" "b3fbf7158d0c54c27c2f99c1f22466b6774a3567a67f949597c5a5538dc6fce4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b3fbf7158d0c54c27c2f99c1f22466b6774a3567a67f949597c5a5538dc6fce4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3fbf7158d0c54c27c2f99c1f22466b6774a3567a67f949597c5a5538dc6fce4", kill_on_drop: false }`
[INFO] [stdout] b3fbf7158d0c54c27c2f99c1f22466b6774a3567a67f949597c5a5538dc6fce4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a86cab108ceb91416801da1c413126b72da887cb02c72ccd7bfa00dc347192dd
[INFO] running `Command { std: "docker" "start" "-a" "a86cab108ceb91416801da1c413126b72da887cb02c72ccd7bfa00dc347192dd", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.148
[INFO] [stderr]    Compiling proc-macro2 v1.0.67
[INFO] [stderr]    Compiling num-traits v0.2.16
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling async-trait v0.1.73
[INFO] [stderr]     Checking tokio v1.32.0
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking sha2 v0.10.8
[INFO] [stderr]    Compiling quote v1.0.33
[INFO] [stderr]    Compiling syn v2.0.37
[INFO] [stderr]     Checking getrandom v0.2.10
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking num-integer v0.1.45
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking ec-generic v0.1.14
[INFO] [stderr]     Checking sha256 v1.4.0
[INFO] [stderr]     Checking EC_Cryptography v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `finite_fields`
[INFO] [stdout]  --> src/ecdh.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ec_generic::{elliptic_curve::EllipticCurve, Point, finite_fields};
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/ecdh.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{self, Rng};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ecdh` should have an upper camel case name
[INFO] [stdout]  --> src/ecdh.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ecdh{
[INFO] [stdout]   |            ^^^^ help: convert the identifier to upper camel case: `Ecdh`
[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: unnecessary parentheses around type
[INFO] [stdout]   --> src/ecdh.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 |      fn individual_comp(&self)->(Point){
[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] 11 -      fn individual_comp(&self)->(Point){
[INFO] [stdout] 11 +      fn individual_comp(&self)->Point {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/ecdsa.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{self, Rng};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `try_digest`
[INFO] [stdout]  --> src/ecdsa.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sha256::{digest,try_digest};
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `point` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum point{
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to upper camel case: `Point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `coor` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     coor(BigUint,BigUint),
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Coor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `identity` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     identity 
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Identity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/lib.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 |             (point::coor(x1,y1),(point::coor(x2,y2))) =>{
[INFO] [stdout]    |                                 ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -             (point::coor(x1,y1),(point::coor(x2,y2))) =>{
[INFO] [stdout] 24 +             (point::coor(x1,y1),point::coor(x2,y2) ) =>{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/lib.rs:34:61
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 let minusof_x1plusx2 = finitefield::inv_add((&finitefield::add(x1, x2, &self.p)),&self.p);
[INFO] [stdout]    |                                                             ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 34 -                 let minusof_x1plusx2 = finitefield::inv_add((&finitefield::add(x1, x2, &self.p)),&self.p);
[INFO] [stdout] 34 +                 let minusof_x1plusx2 = finitefield::inv_add(&finitefield::add(x1, x2, &self.p) ,&self.p);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `finitefield` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct finitefield{}
[INFO] [stdout]     |            ^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Finitefield`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `finite_fields`
[INFO] [stdout]  --> src/ecdh.rs:1:56
[INFO] [stdout]   |
[INFO] [stdout] 1 | use ec_generic::{elliptic_curve::EllipticCurve, Point, finite_fields};
[INFO] [stdout]   |                                                        ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/ecdh.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{self, Rng};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ecdh` should have an upper camel case name
[INFO] [stdout]  --> src/ecdh.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ecdh{
[INFO] [stdout]   |            ^^^^ help: convert the identifier to upper camel case: `Ecdh`
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/ecdh.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |        let mut rng = rand::thread_rng;
[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: unnecessary parentheses around type
[INFO] [stdout]   --> src/ecdh.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 |      fn individual_comp(&self)->(Point){
[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] 11 -      fn individual_comp(&self)->(Point){
[INFO] [stdout] 11 +      fn individual_comp(&self)->Point {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Rng`
[INFO] [stdout]  --> src/ecdsa.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use rand::{self, Rng};
[INFO] [stdout]   |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `try_digest`
[INFO] [stdout]  --> src/ecdsa.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use sha256::{digest,try_digest};
[INFO] [stdout]   |                     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ecdsa.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |        let mut rng = rand::thread_rng;
[INFO] [stdout]    |            ----^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `point` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum point{
[INFO] [stdout]    |          ^^^^^ help: convert the identifier to upper camel case: `Point`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `coor` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     coor(BigUint,BigUint),
[INFO] [stdout]    |     ^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Coor`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `identity` should have an upper camel case name
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     identity 
[INFO] [stdout]    |     ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Identity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]   --> src/lib.rs:24:33
[INFO] [stdout]    |
[INFO] [stdout] 24 |             (point::coor(x1,y1),(point::coor(x2,y2))) =>{
[INFO] [stdout]    |                                 ^                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -             (point::coor(x1,y1),(point::coor(x2,y2))) =>{
[INFO] [stdout] 24 +             (point::coor(x1,y1),point::coor(x2,y2) ) =>{
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/lib.rs:34:61
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 let minusof_x1plusx2 = finitefield::inv_add((&finitefield::add(x1, x2, &self.p)),&self.p);
[INFO] [stdout]    |                                                             ^                                  ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 34 -                 let minusof_x1plusx2 = finitefield::inv_add((&finitefield::add(x1, x2, &self.p)),&self.p);
[INFO] [stdout] 34 +                 let minusof_x1plusx2 = finitefield::inv_add(&finitefield::add(x1, x2, &self.p) ,&self.p);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `finitefield` should have an upper camel case name
[INFO] [stdout]    --> src/lib.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 | pub struct finitefield{}
[INFO] [stdout]     |            ^^^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Finitefield`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `EllipticCurve1` is never constructed
[INFO] [stdout]  --> src/lib.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct EllipticCurve1{
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]   = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ec_curve` and `a_gen` are never read
[INFO] [stdout]  --> src/ecdh.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ecdh{
[INFO] [stdout]   |            ---- fields in this struct
[INFO] [stdout] 5 |     ec_curve:EllipticCurve,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 6 |     a_gen:Point,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `individual_comp`, `generate_publickey`, and `generate_common_comp` are never used
[INFO] [stdout]   --> src/ecdh.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl ecdh {
[INFO] [stdout]    | --------- methods in this implementation
[INFO] [stdout] 10 |      //generate (d, d*A) = (secret key, publickey)
[INFO] [stdout] 11 |      fn individual_comp(&self)->(Point){
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     fn generate_publickey(&self,private_key:&BigUint)->Point{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn generate_common_comp(&self,private_key:&BigUint,individual_comp:&Point) -> Point{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `generate_keypair` and `generate_publickey` are never used
[INFO] [stdout]   --> src/ecdsa.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ECDSA{
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 13 |     //generate (d, d*A) = (secret key, publickey)
[INFO] [stdout] 14 |     fn generate_keypair(&self)->(BigUint,Point){
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     fn generate_publickey(&self,private_key:BigUint)->Point{
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/ecdsa.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn main(){}
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: crate `EC_Cryptography` should have a snake case name
[INFO] [stdout]   |
[INFO] [stdout]   = help: convert the identifier to snake case: `ec_cryptography`
[INFO] [stdout]   = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn add(&self,P:&point,Q:&point) ->point{
[INFO] [stdout]    |                      ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn add(&self,P:&point,Q:&point) ->point{
[INFO] [stdout]    |                               ^ help: convert the identifier to snake case: `q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |             (point::identity,Q) =>Q.clone(),
[INFO] [stdout]    |                              ^ help: convert the identifier to snake case: `q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |             (P,point::identity) =>P.clone(),
[INFO] [stdout]    |              ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn pt_doubling(&self,P:&point)->point{
[INFO] [stdout]    |                              ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:68:51
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn scalar_multiplication(&self,n:&BigUint,P:&point)-> point{
[INFO] [stdout]    |                                                   ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:96:33
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn is_pt_on_curve(&self,P:&point)->bool{
[INFO] [stdout]    |                                 ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]   --> src/ecdsa.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let R:Point = self.ec_curve.scalar_mul(&self.a_gen,&k_random).unwrap();
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `u1timesA` should have a snake case name
[INFO] [stdout]   --> src/ecdsa.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let u1timesA = self.ec_curve.scalar_mul(&self.a_gen,&u1).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^ help: convert the identifier to snake case: `u1times_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `u2timesB` should have a snake case name
[INFO] [stdout]   --> src/ecdsa.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |             let u2timesB = self.ec_curve.scalar_mul(&public_key,&u2).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^ help: convert the identifier to snake case: `u2times_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `u1timesAplusu2timesB` should have a snake case name
[INFO] [stdout]   --> src/ecdsa.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let u1timesAplusu2timesB = self.ec_curve.add(&u1timesA, &u2timesB).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `u1times_aplusu2times_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `EC_Cryptography` (lib) due to 1 previous error; 30 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ecdh.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |        let mut rng = rand::thread_rng;
[INFO] [stdout]    |            ----^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `public_key`
[INFO] [stdout]   --> src/ecdh.rs:54:13
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let public_key = ecdh.generate_publickey(&private_key);
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_public_key`
[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/ecdsa.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |        let mut rng = rand::thread_rng;
[INFO] [stdout]    |            ----^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `individual_comp` is never used
[INFO] [stdout]   --> src/ecdh.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl ecdh {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 10 |      //generate (d, d*A) = (secret key, publickey)
[INFO] [stdout] 11 |      fn individual_comp(&self)->(Point){
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_keypair` is never used
[INFO] [stdout]   --> src/ecdsa.rs:14:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl ECDSA{
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 13 |     //generate (d, d*A) = (secret key, publickey)
[INFO] [stdout] 14 |     fn generate_keypair(&self)->(BigUint,Point){
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/ecdsa.rs:295:4
[INFO] [stdout]     |
[INFO] [stdout] 295 | fn main(){}
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn add(&self,P:&point,Q:&point) ->point{
[INFO] [stdout]    |                      ^ help: convert the identifier to snake case: `p`
[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 `Q` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:17:31
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn add(&self,P:&point,Q:&point) ->point{
[INFO] [stdout]    |                               ^ help: convert the identifier to snake case: `q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Q` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:22:30
[INFO] [stdout]    |
[INFO] [stdout] 22 |             (point::identity,Q) =>Q.clone(),
[INFO] [stdout]    |                              ^ help: convert the identifier to snake case: `q`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 |             (P,point::identity) =>P.clone(),
[INFO] [stdout]    |              ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:46:30
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn pt_doubling(&self,P:&point)->point{
[INFO] [stdout]    |                              ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:68:51
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn scalar_multiplication(&self,n:&BigUint,P:&point)-> point{
[INFO] [stdout]    |                                                   ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P` should have a snake case name
[INFO] [stdout]   --> src/lib.rs:96:33
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn is_pt_on_curve(&self,P:&point)->bool{
[INFO] [stdout]    |                                 ^ help: convert the identifier to snake case: `p`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `alice_Priv_key` should have a snake case name
[INFO] [stdout]   --> src/ecdh.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let alice_Priv_key = ecdh.generate_privatekey();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `alice_priv_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `alice_Priv_key` should have a snake case name
[INFO] [stdout]   --> src/ecdh.rs:99:13
[INFO] [stdout]    |
[INFO] [stdout] 99 |         let alice_Priv_key = ecdh.generate_privatekey();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `alice_priv_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `R` should have a snake case name
[INFO] [stdout]   --> src/ecdsa.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |         let R:Point = self.ec_curve.scalar_mul(&self.a_gen,&k_random).unwrap();
[INFO] [stdout]    |             ^ help: convert the identifier to snake case: `r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `u1timesA` should have a snake case name
[INFO] [stdout]   --> src/ecdsa.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 |             let u1timesA = self.ec_curve.scalar_mul(&self.a_gen,&u1).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^ help: convert the identifier to snake case: `u1times_a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `u2timesB` should have a snake case name
[INFO] [stdout]   --> src/ecdsa.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |             let u2timesB = self.ec_curve.scalar_mul(&public_key,&u2).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^ help: convert the identifier to snake case: `u2times_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `u1timesAplusu2timesB` should have a snake case name
[INFO] [stdout]   --> src/ecdsa.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let u1timesAplusu2timesB = self.ec_curve.add(&u1timesA, &u2timesB).unwrap();
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `u1times_aplusu2times_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let P1 = point::coor(BigUint::from(3u32),BigUint::from(1u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:192:13
[INFO] [stdout]     |
[INFO] [stdout] 192 |         let P2 = point::coor(BigUint::from(5u32),BigUint::from(1u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1plusP2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |         let P1plusP2 = point::coor(BigUint::from(9u32),BigUint::from(16u32));
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `p1plus_p2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:202:13
[INFO] [stdout]     |
[INFO] [stdout] 202 |         let P1 = point::coor(BigUint::from(3u32),BigUint::from(1u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:203:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         let P2 = point::identity;
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1plusP2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:204:13
[INFO] [stdout]     |
[INFO] [stdout] 204 |         let P1plusP2 = P1.clone();
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `p1plus_p2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:213:13
[INFO] [stdout]     |
[INFO] [stdout] 213 |         let P1 = point::coor(BigUint::from(3u32),BigUint::from(1u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:214:13
[INFO] [stdout]     |
[INFO] [stdout] 214 |         let P2 = point::coor(BigUint::from(3u32),BigUint::from(16u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1plusP2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:215:13
[INFO] [stdout]     |
[INFO] [stdout] 215 |         let P1plusP2 = point::identity;
[INFO] [stdout]     |             ^^^^^^^^ help: convert the identifier to snake case: `p1plus_p2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:223:13
[INFO] [stdout]     |
[INFO] [stdout] 223 |         let P1 = point::coor(BigUint::from(5u32),BigUint::from(1u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_2P1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |         let _2P1 = point::coor(BigUint::from(6u32), BigUint::from(3u32));
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case: `_2_p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:233:13
[INFO] [stdout]     |
[INFO] [stdout] 233 |         let P1 = point::coor(BigUint::from(5u32),BigUint::from(1u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `_2P1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:234:13
[INFO] [stdout]     |
[INFO] [stdout] 234 |         let _2P1 = point::coor(BigUint::from(6u32),BigUint::from(3u32));
[INFO] [stdout]     |             ^^^^ help: convert the identifier to snake case: `_2_p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |         let P1 = point::coor(BigUint::from(5u32),BigUint::from(1u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:244:13
[INFO] [stdout]     |
[INFO] [stdout] 244 |         let P2 = point::identity;
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:254:13
[INFO] [stdout]     |
[INFO] [stdout] 254 |         let P1 = point::coor(BigUint::from(5u32),BigUint::from(1u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:255:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |         let P2 = point::coor(BigUint::from(6u32), BigUint::from(3u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |         let P1 = point::coor(BigUint::from(5u32),BigUint::from(1u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:266:13
[INFO] [stdout]     |
[INFO] [stdout] 266 |         let P2 = point::coor(BigUint::from(7u32), BigUint::from(11u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P1` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:276:13
[INFO] [stdout]     |
[INFO] [stdout] 276 |         let P1 = point::coor(BigUint::from(5u32),BigUint::from(1u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `P2` should have a snake case name
[INFO] [stdout]    --> src/lib.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let P2 = point::coor(BigUint::from(10u32), BigUint::from(11u32));
[INFO] [stdout]     |             ^^ help: convert the identifier to snake case: `p2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "a86cab108ceb91416801da1c413126b72da887cb02c72ccd7bfa00dc347192dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a86cab108ceb91416801da1c413126b72da887cb02c72ccd7bfa00dc347192dd", kill_on_drop: false }`
[INFO] [stdout] a86cab108ceb91416801da1c413126b72da887cb02c72ccd7bfa00dc347192dd
