[INFO] cloning repository https://github.com/liufoyang/rust_demo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/liufoyang/rust_demo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliufoyang%2Frust_demo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliufoyang%2Frust_demo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ce8af637f5f2515ebcc8ecfa7c980cb376a7630a [INFO] checking liufoyang/rust_demo against try#3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f for pr-87248 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliufoyang%2Frust_demo" "/workspace/builds/worker-8/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/liufoyang/rust_demo on toolchain 3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/liufoyang/rust_demo [INFO] finished tweaking git repo https://github.com/liufoyang/rust_demo [INFO] tweaked toml for git repo https://github.com/liufoyang/rust_demo written to /workspace/builds/worker-8/source/Cargo.toml [INFO] crate git repo https://github.com/liufoyang/rust_demo already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-8/source/minigrep/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-8/source/Cargo.toml [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d3f3e2e998508c6e560c16e0103a2f91155df0eec1339b8d17e4114527c3972b [INFO] running `Command { std: "docker" "start" "-a" "d3f3e2e998508c6e560c16e0103a2f91155df0eec1339b8d17e4114527c3972b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d3f3e2e998508c6e560c16e0103a2f91155df0eec1339b8d17e4114527c3972b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d3f3e2e998508c6e560c16e0103a2f91155df0eec1339b8d17e4114527c3972b", kill_on_drop: false }` [INFO] [stdout] d3f3e2e998508c6e560c16e0103a2f91155df0eec1339b8d17e4114527c3972b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+3e59a8c2f14152ccc92a6c079f592dc2dc6fa93f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c3881c1d81c05ceef67e32dd44ebe5f39ba9cee3e931719e623fd8217969f437 [INFO] running `Command { std: "docker" "start" "-a" "c3881c1d81c05ceef67e32dd44ebe5f39ba9cee3e931719e623fd8217969f437", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/minigrep/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Compiling proc-macro2 v0.4.30 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling yansi v0.4.0 [INFO] [stderr] Compiling httparse v1.3.4 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling matches v0.1.8 [INFO] [stderr] Compiling smallvec v0.6.10 [INFO] [stderr] Compiling yansi v0.5.0 [INFO] [stderr] Compiling percent-encoding v1.0.1 [INFO] [stderr] Compiling safemem v0.3.3 [INFO] [stderr] Compiling typeable v0.1.2 [INFO] [stderr] Compiling traitobject v0.1.0 [INFO] [stderr] Compiling language-tags v0.2.2 [INFO] [stderr] Compiling state v0.4.1 [INFO] [stderr] Compiling gcc v0.3.55 [INFO] [stderr] Checking demobin v0.1.0 (/opt/rustwide/workdir/demobin) [INFO] [stderr] Checking rustc-serialize v0.3.24 [INFO] [stderr] Checking glob v0.3.0 [INFO] [stderr] Checking minigrep v0.1.0 (/opt/rustwide/workdir/minigrep) [INFO] [stderr] Checking futures v0.1.29 [INFO] [stderr] Checking consescript v0.1.0 (/opt/rustwide/workdir/consescript) [INFO] [stderr] Checking pbft_client v0.1.0 (/opt/rustwide/workdir/pbft_client) [INFO] [stdout] warning: unused import: `std::ops::Fn` [INFO] [stdout] --> minigrep/src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::Fn; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SUCCESS_BOTH` should have an upper camel case name [INFO] [stdout] --> demobin/src/flycoin.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | SUCCESS_BOTH{code:String, msg:String, credit:FlyCoin, debit:FlyCoin}, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SuccessBoth` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling unicase v1.4.2 [INFO] [stderr] Compiling ring v0.13.5 [INFO] [stderr] Compiling indexmap v1.3.0 [INFO] [stderr] Compiling num-traits v0.2.10 [INFO] [stderr] Compiling num-integer v0.1.41 [INFO] [stderr] Compiling unicode-bidi v0.3.4 [INFO] [stdout] warning: structure field `ownAccountId` should have a snake case name [INFO] [stdout] --> demobin/src/flycoin.rs:5:9 [INFO] [stdout] | [INFO] [stdout] 5 | ownAccountId:String, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `own_account_id` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `amountNum` should have a snake case name [INFO] [stdout] --> demobin/src/flycoin.rs:17:22 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn create(amountNum:u64, currencyCode:String, ownAdId:String) -> FlyCoin{ [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `amount_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `currencyCode` should have a snake case name [INFO] [stdout] --> demobin/src/flycoin.rs:17:37 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn create(amountNum:u64, currencyCode:String, ownAdId:String) -> FlyCoin{ [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `currency_code` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `ownAdId` should have a snake case name [INFO] [stdout] --> demobin/src/flycoin.rs:17:58 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn create(amountNum:u64, currencyCode:String, ownAdId:String) -> FlyCoin{ [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `own_ad_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `moveTo` should have a snake case name [INFO] [stdout] --> demobin/src/flycoin.rs:29:15 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn moveTo(self, toAddress:String) -> Result{ [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `move_to` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `toAddress` should have a snake case name [INFO] [stdout] --> demobin/src/flycoin.rs:29:28 [INFO] [stdout] | [INFO] [stdout] 29 | pub fn moveTo(self, toAddress:String) -> Result{ [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `to_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `anotherCoin` should have a snake case name [INFO] [stdout] --> demobin/src/flycoin.rs:54:25 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn add(self, anotherCoin:FlyCoin) -> Result { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `another_coin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `subAmount` should have a snake case name [INFO] [stdout] --> demobin/src/flycoin.rs:78:25 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn sub(self, subAmount:u64, toAddress: &String) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `sub_amount` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `toAddress` should have a snake case name [INFO] [stdout] --> demobin/src/flycoin.rs:78:40 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn sub(self, subAmount:u64, toAddress: &String) -> Result { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `to_address` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `coinB` should have a snake case name [INFO] [stdout] --> demobin/src/flycoin.rs:96:17 [INFO] [stdout] | [INFO] [stdout] 96 | let coinB = FlyCoin { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `coin_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `coinA` should have a snake case name [INFO] [stdout] --> demobin/src/flycoin.rs:102:17 [INFO] [stdout] | [INFO] [stdout] 102 | let coinA = FlyCoin { [INFO] [stdout] | ^^^^^ help: convert the identifier to snake case: `coin_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling unicode-normalization v0.1.8 [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | painc!("functionReturn error, type not found at {}", returnToken.to_string()) [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Fn` [INFO] [stdout] --> minigrep/src/lib.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::Fn; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/conselexer.rs:343:25 [INFO] [stdout] | [INFO] [stdout] 343 | painc!("not value PrimaryType token {}{}", self.token_text, ch); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/conselexer.rs:579:21 [INFO] [stdout] | [INFO] [stdout] 579 | painc!("not value PrimaryType token {", self.token_text); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | ... painc!("functionDeclaration error at {}, it must fn identifier formalParameters (functionReturn)? functionBody", fnToken.to_string()); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | ... painc!("functionDeclaration error at {}, it must fn identifier formalParameters (functionReturn)? functionBody, but formalParameter... [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | ... painc!("functionDeclaration error at {}, it must fn identifier formalParameters (functionReturn)? functionBody, but functionBodyRes... [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | painc!("ParameterDefine error, type not found at {}", token.to_string()); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | painc!("statementBlock error, statementBlock must '{' statement '}', but } lack at {}", letBraceToken.to_string()); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | painc!("statementBlock error, statementBlock must '{' statement '}', but } lack at {}", letBraceToken.to_string()); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `format_str` in this scope [INFO] [stdout] --> consescript/src/lib/conselexer.rs:111:35 [INFO] [stdout] | [INFO] [stdout] 111 | let to_str = String::from(format_str); [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc::Sender` [INFO] [stdout] --> pbft_client/src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::mpsc::Sender; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stdout] --> pbft_client/src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::sync::mpsc::Receiver; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::result::Result` [INFO] [stdout] --> pbft_client/src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::result::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> pbft_client/src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> pbft_client/src/main.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> pbft_client/src/main.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | / ///receiveMsg 1.0 false default_id 30 [INFO] [stdout] 128 | | ///{"id":"10001","client_id":"bft_client0001","payload":"put second_key=hello_1","timestamp":100000,"status":0,"md5sign":""} [INFO] [stdout] | |____________________________________________________________________________________________________________________________________________^ [INFO] [stdout] 129 | let mut msgStr = String::from("receiveMsg 1.0 false default_id 30 \n"); [INFO] [stdout] | ------------------------------------------------------------------------ rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> pbft_client/src/main.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Lexer_State` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | enum Lexer_State { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `LexerState` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `bool` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | bool, //bool [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `i32` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | i32, //i32 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `i64` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | i64, //i64 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `f32` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | f32, //f32 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `f64` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | f64, //f64 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `string` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | string, //string [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Token_Type` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum Token_Type { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenType` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `bool` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | bool, //:bool [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `i32` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | i32, //:i32 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `i64` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | i64, //:i64 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `f32` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | f32, //:f32 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `f64` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | f64, //:f64 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `string` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | string, //:string [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Lexer_Parser` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 180 | struct Lexer_Parser { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LexerParser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::TokenList` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:615:9 [INFO] [stdout] | [INFO] [stdout] 615 | use super::TokenList; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::conselexer::Token` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::conselexer::Token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AST_Node_Type` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum AST_Node_Type { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AstNodeType` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AST_Node` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct AST_Node { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `AstNode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:194:7 [INFO] [stdout] | [INFO] [stdout] 194 | if(identifierNodeResult.is_none()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:652:11 [INFO] [stdout] | [INFO] [stdout] 652 | while (true) { [INFO] [stdout] | ^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:652:5 [INFO] [stdout] | [INFO] [stdout] 652 | while (true) { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lib::conselexer::TokenList` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:1009:9 [INFO] [stdout] | [INFO] [stdout] 1009 | use crate::lib::conselexer::TokenList; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lib::conselexer::Token` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:1010:9 [INFO] [stdout] | [INFO] [stdout] 1010 | use crate::lib::conselexer::Token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lib::conselexer::Token_Type` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:1011:9 [INFO] [stdout] | [INFO] [stdout] 1011 | use crate::lib::conselexer::Token_Type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::AST_Node` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:1013:9 [INFO] [stdout] | [INFO] [stdout] 1013 | use super::AST_Node; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::AST_Node_Type` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:1014:9 [INFO] [stdout] | [INFO] [stdout] 1014 | use super::AST_Node_Type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> consescript/src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SUCCESS_BOTH` should have an upper camel case name [INFO] [stdout] --> demobin/src/flycoin.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | SUCCESS_BOTH{code:String, msg:String, credit:FlyCoin, debit:FlyCoin}, [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `SuccessBoth` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | painc!("functionReturn error, type not found at {}", returnToken.to_string()) [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/conselexer.rs:343:25 [INFO] [stdout] | [INFO] [stdout] 343 | painc!("not value PrimaryType token {}{}", self.token_text, ch); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/conselexer.rs:579:21 [INFO] [stdout] | [INFO] [stdout] 579 | painc!("not value PrimaryType token {", self.token_text); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:129:9 [INFO] [stdout] | [INFO] [stdout] 129 | ... painc!("functionDeclaration error at {}, it must fn identifier formalParameters (functionReturn)? functionBody", fnToken.to_string()); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:140:9 [INFO] [stdout] | [INFO] [stdout] 140 | ... painc!("functionDeclaration error at {}, it must fn identifier formalParameters (functionReturn)? functionBody, but formalParameter... [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:152:9 [INFO] [stdout] | [INFO] [stdout] 152 | ... painc!("functionDeclaration error at {}, it must fn identifier formalParameters (functionReturn)? functionBody, but functionBodyRes... [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | painc!("ParameterDefine error, type not found at {}", token.to_string()); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:288:9 [INFO] [stdout] | [INFO] [stdout] 288 | painc!("statementBlock error, statementBlock must '{' statement '}', but } lack at {}", letBraceToken.to_string()); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot find macro `painc` in this scope [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 294 | painc!("statementBlock error, statementBlock must '{' statement '}', but } lack at {}", letBraceToken.to_string()); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0425]: cannot find value `format_str` in this scope [INFO] [stdout] --> consescript/src/lib/conselexer.rs:111:35 [INFO] [stdout] | [INFO] [stdout] 111 | let to_str = String::from(format_str); [INFO] [stdout] | ^^^^^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `not_case_test` [INFO] [stdout] --> minigrep/src/lib.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | fn not_case_test() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Lexer_State` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | enum Lexer_State { [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to upper camel case: `LexerState` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0004]: non-exhaustive patterns: `SUCCESS_BOTH { .. }` not covered [INFO] [stdout] --> demobin/src/flycoin.rs:125:40 [INFO] [stdout] | [INFO] [stdout] 8 | / pub enum Result { [INFO] [stdout] 9 | | SUCCESS{code:String, msg:String, item:FlyCoin}, [INFO] [stdout] 10 | | SUCCESS_BOTH{code:String, msg:String, credit:FlyCoin, debit:FlyCoin}, [INFO] [stdout] | | ------------ not covered [INFO] [stdout] 11 | | FAIL{code:String, msg:String, credit:FlyCoin, debit:FlyCoin} [INFO] [stdout] 12 | | } [INFO] [stdout] | |_____- `fly_coin::Result` defined here [INFO] [stdout] ... [INFO] [stdout] 125 | let mut coinB:FlyCoin = match moveResult { [INFO] [stdout] | ^^^^^^^^^^ pattern `SUCCESS_BOTH { .. }` not covered [INFO] [stdout] | [INFO] [stdout] = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms [INFO] [stdout] = note: the matched value is of type `fly_coin::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0004]: non-exhaustive patterns: `SUCCESS_BOTH { .. }` not covered [INFO] [stdout] --> demobin/src/flycoin.rs:143:28 [INFO] [stdout] | [INFO] [stdout] 8 | / pub enum Result { [INFO] [stdout] 9 | | SUCCESS{code:String, msg:String, item:FlyCoin}, [INFO] [stdout] 10 | | SUCCESS_BOTH{code:String, msg:String, credit:FlyCoin, debit:FlyCoin}, [INFO] [stdout] | | ------------ not covered [INFO] [stdout] 11 | | FAIL{code:String, msg:String, credit:FlyCoin, debit:FlyCoin} [INFO] [stdout] 12 | | } [INFO] [stdout] | |_____- `fly_coin::Result` defined here [INFO] [stdout] ... [INFO] [stdout] 143 | let coinD = match addResult { [INFO] [stdout] | ^^^^^^^^^ pattern `SUCCESS_BOTH { .. }` not covered [INFO] [stdout] | [INFO] [stdout] = help: ensure that all possible cases are being handled, possibly by adding wildcards or more match arms [INFO] [stdout] = note: the matched value is of type `fly_coin::Result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> demobin/src/flycoin.rs:126:29 [INFO] [stdout] | [INFO] [stdout] 126 | Result::SUCCESS{code, msg, item} => item, [INFO] [stdout] | ^^^^ help: try ignoring the field: `code: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> demobin/src/flycoin.rs:126:35 [INFO] [stdout] | [INFO] [stdout] 126 | Result::SUCCESS{code, msg, item} => item, [INFO] [stdout] | ^^^ help: try ignoring the field: `msg: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> demobin/src/flycoin.rs:127:26 [INFO] [stdout] | [INFO] [stdout] 127 | Result::FAIL{code, msg, credit, debit} => credit, [INFO] [stdout] | ^^^^ help: try ignoring the field: `code: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> demobin/src/flycoin.rs:127:32 [INFO] [stdout] | [INFO] [stdout] 127 | Result::FAIL{code, msg, credit, debit} => credit, [INFO] [stdout] | ^^^ help: try ignoring the field: `msg: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `debit` [INFO] [stdout] --> demobin/src/flycoin.rs:127:45 [INFO] [stdout] | [INFO] [stdout] 127 | Result::FAIL{code, msg, credit, debit} => credit, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `debit: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> demobin/src/flycoin.rs:144:29 [INFO] [stdout] | [INFO] [stdout] 144 | Result::SUCCESS{code, msg, item} => item, [INFO] [stdout] | ^^^^ help: try ignoring the field: `code: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> demobin/src/flycoin.rs:144:35 [INFO] [stdout] | [INFO] [stdout] 144 | Result::SUCCESS{code, msg, item} => item, [INFO] [stdout] | ^^^ help: try ignoring the field: `msg: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `code` [INFO] [stdout] --> demobin/src/flycoin.rs:145:26 [INFO] [stdout] | [INFO] [stdout] 145 | Result::FAIL{code, msg, credit, debit} => credit, [INFO] [stdout] | ^^^^ help: try ignoring the field: `code: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> demobin/src/flycoin.rs:145:32 [INFO] [stdout] | [INFO] [stdout] 145 | Result::FAIL{code, msg, credit, debit} => credit, [INFO] [stdout] | ^^^ help: try ignoring the field: `msg: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `debit` [INFO] [stdout] --> demobin/src/flycoin.rs:145:45 [INFO] [stdout] | [INFO] [stdout] 145 | Result::FAIL{code, msg, credit, debit} => credit, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `debit: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `bool` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:33:5 [INFO] [stdout] | [INFO] [stdout] 33 | bool, //bool [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `i32` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | i32, //i32 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `i64` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | i64, //i64 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `f32` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:36:5 [INFO] [stdout] | [INFO] [stdout] 36 | f32, //f32 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `f64` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | f64, //f64 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `string` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | string, //string [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Token_Type` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:47:10 [INFO] [stdout] | [INFO] [stdout] 47 | pub enum Token_Type { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to upper camel case: `TokenType` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `bool` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 76 | bool, //:bool [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Bool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `i32` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 77 | i32, //:i32 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `i64` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 78 | i64, //:i64 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `I64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `f32` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | f32, //:f32 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F32` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `f64` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:80:5 [INFO] [stdout] | [INFO] [stdout] 80 | f64, //:f64 [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `F64` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `string` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 81 | string, //:string [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `String` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Lexer_Parser` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/conselexer.rs:180:8 [INFO] [stdout] | [INFO] [stdout] 180 | struct Lexer_Parser { [INFO] [stdout] | ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `LexerParser` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::conselexer::Token` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::conselexer::Token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AST_Node_Type` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum AST_Node_Type { [INFO] [stdout] | ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `AstNodeType` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `AST_Node` should have an upper camel case name [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:49:12 [INFO] [stdout] | [INFO] [stdout] 49 | pub struct AST_Node { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case: `AstNode` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:194:7 [INFO] [stdout] | [INFO] [stdout] 194 | if(identifierNodeResult.is_none()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `while` condition [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:652:11 [INFO] [stdout] | [INFO] [stdout] 652 | while (true) { [INFO] [stdout] | ^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:652:5 [INFO] [stdout] | [INFO] [stdout] 652 | while (true) { [INFO] [stdout] | ^^^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> consescript/src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking byteorder v1.3.2 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:338:36 [INFO] [stdout] | [INFO] [stdout] 338 | self.state == Lexer_State::PrimaryType; [INFO] [stdout] | ---------- ^^ ------------------------ Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:349:36 [INFO] [stdout] | [INFO] [stdout] 349 | self.state == Lexer_State::Function2; [INFO] [stdout] | ---------- ^^ ---------------------- Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:353:36 [INFO] [stdout] | [INFO] [stdout] 353 | self.state == Lexer_State::Identifier; [INFO] [stdout] | ---------- ^^ ----------------------- Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:356:36 [INFO] [stdout] | [INFO] [stdout] 356 | self.state == Lexer_State::Identifier; [INFO] [stdout] | ---------- ^^ ----------------------- Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:359:36 [INFO] [stdout] | [INFO] [stdout] 359 | self.state == Lexer_State::Identifier; [INFO] [stdout] | ---------- ^^ ----------------------- Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:402:24 [INFO] [stdout] | [INFO] [stdout] 402 | self.state == Lexer_State::Function; [INFO] [stdout] | ---------- ^^ --------------------- Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:338:36 [INFO] [stdout] | [INFO] [stdout] 338 | self.state == Lexer_State::PrimaryType; [INFO] [stdout] | ---------- ^^ ------------------------ Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> consescript/src/lib/conselexer.rs:578:24 [INFO] [stdout] | [INFO] [stdout] 578 | } else { [INFO] [stdout] | ________________________^ [INFO] [stdout] 579 | | painc!("not value PrimaryType token {", self.token_text); [INFO] [stdout] 580 | | } [INFO] [stdout] | |_________________^ expected enum `Token_Type`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0618]: expected function, found enum variant `None` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:221:16 [INFO] [stdout] | [INFO] [stdout] 221 | return None(); [INFO] [stdout] | ^^^^-- [INFO] [stdout] | | [INFO] [stdout] | call expression requires function [INFO] [stdout] | [INFO] [stdout] help: `None` is a unit variant, you need to write it without the parenthesis [INFO] [stdout] | [INFO] [stdout] 221 | return None; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc::Sender` [INFO] [stdout] --> pbft_client/src/main.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::sync::mpsc::Sender; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::mpsc::Receiver` [INFO] [stdout] --> pbft_client/src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::sync::mpsc::Receiver; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::result::Result` [INFO] [stdout] --> pbft_client/src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::result::Result; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:349:36 [INFO] [stdout] | [INFO] [stdout] 349 | self.state == Lexer_State::Function2; [INFO] [stdout] | ---------- ^^ ---------------------- Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:353:36 [INFO] [stdout] | [INFO] [stdout] 353 | self.state == Lexer_State::Identifier; [INFO] [stdout] | ---------- ^^ ----------------------- Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:356:36 [INFO] [stdout] | [INFO] [stdout] 356 | self.state == Lexer_State::Identifier; [INFO] [stdout] | ---------- ^^ ----------------------- Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:359:36 [INFO] [stdout] | [INFO] [stdout] 359 | self.state == Lexer_State::Identifier; [INFO] [stdout] | ---------- ^^ ----------------------- Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> pbft_client/src/main.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(while_true)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> pbft_client/src/main.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> pbft_client/src/main.rs:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | / ///receiveMsg 1.0 false default_id 30 [INFO] [stdout] 128 | | ///{"id":"10001","client_id":"bft_client0001","payload":"put second_key=hello_1","timestamp":100000,"status":0,"md5sign":""} [INFO] [stdout] | |____________________________________________________________________________________________________________________________________________^ [INFO] [stdout] 129 | let mut msgStr = String::from("receiveMsg 1.0 false default_id 30 \n"); [INFO] [stdout] | ------------------------------------------------------------------------ rustdoc does not generate documentation for statements [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] = help: use `//` for a plain comment [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: denote infinite loops with `loop { ... }` [INFO] [stdout] --> pbft_client/src/main.rs:158:17 [INFO] [stdout] | [INFO] [stdout] 158 | while true { [INFO] [stdout] | ^^^^^^^^^^ help: use `loop` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `Lexer_State` [INFO] [stdout] --> consescript/src/lib/conselexer.rs:402:24 [INFO] [stdout] | [INFO] [stdout] 402 | self.state == Lexer_State::Function; [INFO] [stdout] | ---------- ^^ --------------------- Lexer_State [INFO] [stdout] | | [INFO] [stdout] | Lexer_State [INFO] [stdout] | [INFO] [stdout] = note: an implementation of `std::cmp::PartialEq` might be missing for `Lexer_State` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> consescript/src/lib/conselexer.rs:578:24 [INFO] [stdout] | [INFO] [stdout] 578 | } else { [INFO] [stdout] | ________________________^ [INFO] [stdout] 579 | | painc!("not value PrimaryType token {", self.token_text); [INFO] [stdout] 580 | | } [INFO] [stdout] | |_________________^ expected enum `Token_Type`, found `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0618]: expected function, found enum variant `None` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:227:16 [INFO] [stdout] | [INFO] [stdout] 227 | return None(); [INFO] [stdout] | ^^^^-- [INFO] [stdout] | | [INFO] [stdout] | call expression requires function [INFO] [stdout] | [INFO] [stdout] help: `None` is a unit variant, you need to write it without the parenthesis [INFO] [stdout] | [INFO] [stdout] 227 | return None; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0618]: expected function, found enum variant `None` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:221:16 [INFO] [stdout] | [INFO] [stdout] 221 | return None(); [INFO] [stdout] | ^^^^-- [INFO] [stdout] | | [INFO] [stdout] | call expression requires function [INFO] [stdout] | [INFO] [stdout] help: `None` is a unit variant, you need to write it without the parenthesis [INFO] [stdout] | [INFO] [stdout] 221 | return None; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:379:17 [INFO] [stdout] | [INFO] [stdout] 378 | panic!("stmt error, condition stmt must if conditionExpression at token {}", ifToken.to_string()); [INFO] [stdout] | --------------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 379 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:389:17 [INFO] [stdout] | [INFO] [stdout] 388 | panic!("stmt error, condition stmt must if conditionExpression lack stmt"); [INFO] [stdout] | ---------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 389 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:411:17 [INFO] [stdout] | [INFO] [stdout] 410 | panic!("stmt error, condition stmt must else lack stmt at token {}", elseToken.to_string()); [INFO] [stdout] | ---------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 411 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:436:9 [INFO] [stdout] | [INFO] [stdout] 435 | ... panic!("conditionExpression error, conditionExpression must additiveExpression bop additiveExpression bop=(== , !=, >, <, >=, <=)"); [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 436 | ... return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0618]: expected function, found enum variant `None` [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:227:16 [INFO] [stdout] | [INFO] [stdout] 227 | return None(); [INFO] [stdout] | ^^^^-- [INFO] [stdout] | | [INFO] [stdout] | call expression requires function [INFO] [stdout] | [INFO] [stdout] help: `None` is a unit variant, you need to write it without the parenthesis [INFO] [stdout] | [INFO] [stdout] 227 | return None; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 442 | panic!("conditionExpression error, conditionExpression must contain == or !="); [INFO] [stdout] | ---------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 443 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:379:17 [INFO] [stdout] | [INFO] [stdout] 378 | panic!("stmt error, condition stmt must if conditionExpression at token {}", ifToken.to_string()); [INFO] [stdout] | --------------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 379 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:452:9 [INFO] [stdout] | [INFO] [stdout] 451 | ... panic!("conditionExpression error, conditionExpression must contain == , !=, >, <, >=, <=, but {} {:?}", conditionToken.get_text(), conditionToken.get_type()); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ any code following this expression is unreachable [INFO] [stdout] 452 | ... return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:460:9 [INFO] [stdout] | [INFO] [stdout] 459 | panic!("conditionExpression error, additiveExpression bop additiveExpression bop=(== , !=, >, <, >=, <=)"); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------ any code following this expression is unreachable [INFO] [stdout] 460 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:496:17 [INFO] [stdout] | [INFO] [stdout] 495 | panic!("declaration var error, declaration must be let identifier"); [INFO] [stdout] | -------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 496 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:505:17 [INFO] [stdout] | [INFO] [stdout] 504 | panic!("declaration var error, declaration must be end with ;"); [INFO] [stdout] | ---------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 505 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:514:21 [INFO] [stdout] | [INFO] [stdout] 513 | panic!("declaration var error, declaration must be end with ; or newline"); [INFO] [stdout] | --------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 514 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:527:17 [INFO] [stdout] | [INFO] [stdout] 526 | panic!("declaration var error, declaration must be let identifier=expression"); [INFO] [stdout] | ------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 527 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:588:9 [INFO] [stdout] | [INFO] [stdout] 587 | panic!("assignmentStatement error, assignmentStatement must Identifier = expression; {}",position); [INFO] [stdout] | --------------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 588 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:389:17 [INFO] [stdout] | [INFO] [stdout] 388 | panic!("stmt error, condition stmt must if conditionExpression lack stmt"); [INFO] [stdout] | ---------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 389 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:411:17 [INFO] [stdout] | [INFO] [stdout] 410 | panic!("stmt error, condition stmt must else lack stmt at token {}", elseToken.to_string()); [INFO] [stdout] | ---------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 411 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:601:9 [INFO] [stdout] | [INFO] [stdout] 600 | panic!("assignmentStatement error, assignmentStatement must end with ; or newline but {}", &endToken.to_string()); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------ any code following this expression is unreachable [INFO] [stdout] 601 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:436:9 [INFO] [stdout] | [INFO] [stdout] 435 | ... panic!("conditionExpression error, conditionExpression must additiveExpression bop additiveExpression bop=(== , !=, >, <, >=, <=)"); [INFO] [stdout] | --------------------------------------------------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 436 | ... return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:623:9 [INFO] [stdout] | [INFO] [stdout] 622 | panic!("expressionStatement error, expressionStatement must be end with ;"); [INFO] [stdout] | ---------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 623 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:443:9 [INFO] [stdout] | [INFO] [stdout] 442 | panic!("conditionExpression error, conditionExpression must contain == or !="); [INFO] [stdout] | ---------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 443 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:630:9 [INFO] [stdout] | [INFO] [stdout] 629 | ... panic!("expressionStatement error, expressionStatement must be end with ; or newline but with {} {}", endToken.to_string(), position); [INFO] [stdout] | -------------------------------------------------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 630 | ... return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:452:9 [INFO] [stdout] | [INFO] [stdout] 451 | ... panic!("conditionExpression error, conditionExpression must contain == , !=, >, <, >=, <=, but {} {:?}", conditionToken.get_text(), conditionToken.get_type()); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ any code following this expression is unreachable [INFO] [stdout] 452 | ... return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:460:9 [INFO] [stdout] | [INFO] [stdout] 459 | panic!("conditionExpression error, additiveExpression bop additiveExpression bop=(== , !=, >, <, >=, <=)"); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------ any code following this expression is unreachable [INFO] [stdout] 460 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:496:17 [INFO] [stdout] | [INFO] [stdout] 495 | panic!("declaration var error, declaration must be let identifier"); [INFO] [stdout] | -------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 496 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:672:13 [INFO] [stdout] | [INFO] [stdout] 671 | panic!("additiveExpression error, additiveExpression must +/- with multiplicativeExpress ;"); [INFO] [stdout] | --------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 672 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:717:9 [INFO] [stdout] | [INFO] [stdout] 716 | panic!("multiplicativeExpress error, multiplicativeExpress must * or / with multiplicativeExpress ;"); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------ any code following this expression is unreachable [INFO] [stdout] 717 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:505:17 [INFO] [stdout] | [INFO] [stdout] 504 | panic!("declaration var error, declaration must be end with ;"); [INFO] [stdout] | ---------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 505 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:514:21 [INFO] [stdout] | [INFO] [stdout] 513 | panic!("declaration var error, declaration must be end with ; or newline"); [INFO] [stdout] | --------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 514 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:527:17 [INFO] [stdout] | [INFO] [stdout] 526 | panic!("declaration var error, declaration must be let identifier=expression"); [INFO] [stdout] | ------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 527 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:588:9 [INFO] [stdout] | [INFO] [stdout] 587 | panic!("assignmentStatement error, assignmentStatement must Identifier = expression; {}",position); [INFO] [stdout] | --------------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 588 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:601:9 [INFO] [stdout] | [INFO] [stdout] 600 | panic!("assignmentStatement error, assignmentStatement must end with ; or newline but {}", &endToken.to_string()); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------------ any code following this expression is unreachable [INFO] [stdout] 601 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:623:9 [INFO] [stdout] | [INFO] [stdout] 622 | panic!("expressionStatement error, expressionStatement must be end with ;"); [INFO] [stdout] | ---------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 623 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:630:9 [INFO] [stdout] | [INFO] [stdout] 629 | ... panic!("expressionStatement error, expressionStatement must be end with ; or newline but with {} {}", endToken.to_string(), position); [INFO] [stdout] | -------------------------------------------------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 630 | ... return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:672:13 [INFO] [stdout] | [INFO] [stdout] 671 | panic!("additiveExpression error, additiveExpression must +/- with multiplicativeExpress ;"); [INFO] [stdout] | --------------------------------------------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] 672 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> consescript/src/lib/consesyntax.rs:717:9 [INFO] [stdout] | [INFO] [stdout] 716 | panic!("multiplicativeExpress error, multiplicativeExpress must * or / with multiplicativeExpress ;"); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------ any code following this expression is unreachable [INFO] [stdout] 717 | return None; [INFO] [stdout] | ^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 19 previous errors; 45 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0369, E0425, E0618. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 19 previous errors; 39 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0308, E0369, E0425, E0618. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0308`. [INFO] [stdout] [INFO] [stderr] error: could not compile `consescript` due to 20 previous errors; 45 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `thread_index` [INFO] [stdout] --> pbft_client/src/main.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | let mut thread_index = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `connection_name` [INFO] [stdout] --> pbft_client/src/main.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | let connection_name = stream.peer_addr().unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> pbft_client/src/main.rs:80:36 [INFO] [stdout] | [INFO] [stdout] 80 | let (left, right) = buffer.split_at(lensize); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value captured by `buffer` is never read [INFO] [stdout] --> pbft_client/src/main.rs:75:21 [INFO] [stdout] | [INFO] [stdout] 75 | buffer = [0; 2048]; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: did you mean to capture by reference instead? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `replay_listener` [INFO] [stdout] --> pbft_client/src/main.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let replay_listener = thread::Builder::new().name("reply_listener".to_string()).spawn(move|| { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_replay_listener` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> pbft_client/src/main.rs:121:16 [INFO] [stdout] | [INFO] [stdout] 121 | Ok(n) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thread_index` [INFO] [stdout] --> pbft_client/src/main.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | let mut thread_index = 0; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thread_index` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `connection_name` [INFO] [stdout] --> pbft_client/src/main.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | let connection_name = stream.peer_addr().unwrap().to_string(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_connection_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right` [INFO] [stdout] --> pbft_client/src/main.rs:80:36 [INFO] [stdout] | [INFO] [stdout] 80 | let (left, right) = buffer.split_at(lensize); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_right` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value captured by `buffer` is never read [INFO] [stdout] --> pbft_client/src/main.rs:75:21 [INFO] [stdout] | [INFO] [stdout] 75 | buffer = [0; 2048]; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: did you mean to capture by reference instead? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> pbft_client/src/main.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut thread_index = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `replay_listener` [INFO] [stdout] --> pbft_client/src/main.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | let replay_listener = thread::Builder::new().name("reply_listener".to_string()).spawn(move|| { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_replay_listener` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> pbft_client/src/main.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | let mut stream = stream_accept.unwrap(); [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] --> pbft_client/src/main.rs:81:29 [INFO] [stdout] | [INFO] [stdout] 81 | let mut reply_str = String::from_utf8_lossy(&left[..]).to_string(); [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] --> pbft_client/src/main.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let mut msg_num = 1; [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] --> demobin/src/flycoin.rs:116:13 [INFO] [stdout] | [INFO] [stdout] 116 | let mut coinA = FlyCoin::create(100, String::from("CNY"), String::from("address_A")); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> demobin/src/flycoin.rs:125:13 [INFO] [stdout] | [INFO] [stdout] 125 | let mut coinB:FlyCoin = match moveResult { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `n` [INFO] [stdout] --> pbft_client/src/main.rs:121:16 [INFO] [stdout] | [INFO] [stdout] 121 | Ok(n) => { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_n` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pbft_client/src/main.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | stream_sender.send(stream_box); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0004`. [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> pbft_client/src/main.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | let mut thread_index = 0; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> pbft_client/src/main.rs:49:17 [INFO] [stdout] | [INFO] [stdout] 49 | let mut stream = stream_accept.unwrap(); [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] --> pbft_client/src/main.rs:81:29 [INFO] [stdout] | [INFO] [stdout] 81 | let mut reply_str = String::from_utf8_lossy(&left[..]).to_string(); [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] --> pbft_client/src/main.rs:117:9 [INFO] [stdout] | [INFO] [stdout] 117 | let mut msg_num = 1; [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pbft_client/src/main.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | / thread::Builder::new().name("reader_thread".to_string()).spawn(move|| { [INFO] [stdout] 60 | | [INFO] [stdout] 61 | | let mut stream_vec:Vec = Vec::new(); [INFO] [stdout] 62 | | let millis_200 = Duration::from_millis(200); [INFO] [stdout] ... | [INFO] [stdout] 99 | | [INFO] [stdout] 100 | | }); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `msgList` should have a snake case name [INFO] [stdout] --> pbft_client/src/main.rs:82:29 [INFO] [stdout] | [INFO] [stdout] 82 | let msgList:Vec<&str> = reply_str.split("#end#").collect(); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `msg_list` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pbft_client/src/main.rs:92:29 [INFO] [stdout] | [INFO] [stdout] 92 | ... sender.send(reply_box); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `msgStr` should have a snake case name [INFO] [stdout] --> pbft_client/src/main.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | let mut msgStr = String::from("receiveMsg 1.0 false default_id 30 \n"); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `msg_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pbft_client/src/main.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | stream.write(msgStr.as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pbft_client/src/main.rs:152:17 [INFO] [stdout] | [INFO] [stdout] 152 | stream.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `keyValue` should have a snake case name [INFO] [stdout] --> pbft_client/src/main.rs:196:17 [INFO] [stdout] | [INFO] [stdout] 196 | let keyValue: Vec<&str> = item_str.split(':').collect(); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `key_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> minigrep/src/main.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | });; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pbft_client/src/main.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | stream_sender.send(stream_box); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> minigrep/src/main.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let result = lib::run(config).unwrap_or_else(|err| { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pbft_client/src/main.rs:59:5 [INFO] [stdout] | [INFO] [stdout] 59 | / thread::Builder::new().name("reader_thread".to_string()).spawn(move|| { [INFO] [stdout] 60 | | [INFO] [stdout] 61 | | let mut stream_vec:Vec = Vec::new(); [INFO] [stdout] 62 | | let millis_200 = Duration::from_millis(200); [INFO] [stdout] ... | [INFO] [stdout] 99 | | [INFO] [stdout] 100 | | }); [INFO] [stdout] | |_______^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `msgList` should have a snake case name [INFO] [stdout] --> pbft_client/src/main.rs:82:29 [INFO] [stdout] | [INFO] [stdout] 82 | let msgList:Vec<&str> = reply_str.split("#end#").collect(); [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `msg_list` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pbft_client/src/main.rs:92:29 [INFO] [stdout] | [INFO] [stdout] 92 | ... sender.send(reply_box); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `msgStr` should have a snake case name [INFO] [stdout] --> pbft_client/src/main.rs:129:25 [INFO] [stdout] | [INFO] [stdout] 129 | let mut msgStr = String::from("receiveMsg 1.0 false default_id 30 \n"); [INFO] [stdout] | ^^^^^^ help: convert the identifier to snake case: `msg_str` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pbft_client/src/main.rs:150:17 [INFO] [stdout] | [INFO] [stdout] 150 | stream.write(msgStr.as_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> pbft_client/src/main.rs:152:17 [INFO] [stdout] | [INFO] [stdout] 152 | stream.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `keyValue` should have a snake case name [INFO] [stdout] --> pbft_client/src/main.rs:196:17 [INFO] [stdout] | [INFO] [stdout] 196 | let keyValue: Vec<&str> = item_str.split(':').collect(); [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to snake case: `key_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 25 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> minigrep/src/main.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | });; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> minigrep/src/main.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let result = lib::run(config).unwrap_or_else(|err| { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "c3881c1d81c05ceef67e32dd44ebe5f39ba9cee3e931719e623fd8217969f437", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3881c1d81c05ceef67e32dd44ebe5f39ba9cee3e931719e623fd8217969f437", kill_on_drop: false }` [INFO] [stdout] c3881c1d81c05ceef67e32dd44ebe5f39ba9cee3e931719e623fd8217969f437