[INFO] updating cached repository royburner/kikibase [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/royburner/kikibase [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/royburner/kikibase" "work/ex/clippy-test-run/sources/stable/gh/royburner/kikibase"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/royburner/kikibase'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/royburner/kikibase" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/royburner/kikibase"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/royburner/kikibase'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 4adc43e8953c5775724cbc80db66829e16bb9b34 [INFO] sha for GitHub repo royburner/kikibase: 4adc43e8953c5775724cbc80db66829e16bb9b34 [INFO] validating manifest of royburner/kikibase on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of royburner/kikibase on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing royburner/kikibase [INFO] finished frobbing royburner/kikibase [INFO] frobbed toml for royburner/kikibase written to work/ex/clippy-test-run/sources/stable/gh/royburner/kikibase/Cargo.toml [INFO] started frobbing royburner/kikibase [INFO] finished frobbing royburner/kikibase [INFO] frobbed toml for royburner/kikibase written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/royburner/kikibase/Cargo.toml [INFO] crate royburner/kikibase has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting royburner/kikibase against stable+rustflags=-Dclippy::into_iter_on_array for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/royburner/kikibase:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dclippy::into_iter_on_array" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 94dc64553f15003338c9fb8660e4050989ac6071422182e7d1258d4301a00955 [INFO] running `"docker" "start" "-a" "94dc64553f15003338c9fb8660e4050989ac6071422182e7d1258d4301a00955"` [INFO] [stderr] Checking thread-id v3.1.0 [INFO] [stderr] Checking memchr v1.0.1 [INFO] [stderr] Checking unreachable v0.1.1 [INFO] [stderr] Checking nix v0.5.1 [INFO] [stderr] Checking thread_local v0.3.3 [INFO] [stderr] Checking aho-corasick v0.6.3 [INFO] [stderr] Checking regex v0.2.2 [INFO] [stderr] Checking rustyline v1.0.0 [INFO] [stderr] Checking kikibase v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/database.rs:25:33 [INFO] [stderr] | [INFO] [stderr] 25 | columns: columns, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `columns` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/database.rs:25:33 [INFO] [stderr] | [INFO] [stderr] 25 | columns: columns, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `columns` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:40:24 [INFO] [stderr] | [INFO] [stderr] 40 | Ok(msg) => return Ok(msg), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(msg)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | return Err(msg); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(msg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | return Ok(lowercase_string); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lowercase_string)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:94:31 [INFO] [stderr] | [INFO] [stderr] 94 | Some("create") => return self.sql_create(words_it), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sql_create(words_it)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:95:31 [INFO] [stderr] | [INFO] [stderr] 95 | Some("insert") => return self.sql_insert(words_it), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sql_insert(words_it)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:96:31 [INFO] [stderr] | [INFO] [stderr] 96 | Some("select") => return self.sql_select(words_it), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sql_select(words_it)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | return Err(format!("Bad SQL grammar : unknown keyword [{}]", &unknow)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Bad SQL grammar : unknown keyword [{}]", &unknow))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:100:21 [INFO] [stderr] | [INFO] [stderr] 100 | None => return Err("Bad SQL grammar : Empty request".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Bad SQL grammar : Empty request".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:106:33 [INFO] [stderr] | [INFO] [stderr] 106 | Some("database") => return self.sql_create_database(words_it), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sql_create_database(words_it)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:107:30 [INFO] [stderr] | [INFO] [stderr] 107 | Some("table") => return self.sql_create_table(words_it), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sql_create_table(words_it)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | / return Err(format!("Bad SQL grammar : unknown keyword [{}]. Expecting one of \ [INFO] [stderr] 110 | | DATABASE,TABLE keyword", [INFO] [stderr] 111 | | &unknow)) [INFO] [stderr] | |____________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 109 | Err(format!("Bad SQL grammar : unknown keyword [{}]. Expecting one of \ [INFO] [stderr] 110 | DATABASE,TABLE keyword", [INFO] [stderr] 111 | &unknow)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:113:21 [INFO] [stderr] | [INFO] [stderr] 113 | None => return Err("Bad SQL grammar : Empty request".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Bad SQL grammar : Empty request".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | return Ok("Done".to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok("Done".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:125:21 [INFO] [stderr] | [INFO] [stderr] 125 | None => return Err("Bad SQL grammar : Missing DB NAME".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Bad SQL grammar : Missing DB NAME".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | return Ok("Done".to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok("Done".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | / return match self.current_db.insert(&tbl_name, values) { [INFO] [stderr] 291 | | Ok(nb_insert) => Ok(format!("[{}] rows inserted", nb_insert)), [INFO] [stderr] 292 | | Err(msg) => Err(msg), [INFO] [stderr] 293 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 290 | match self.current_db.insert(&tbl_name, values) { [INFO] [stderr] 291 | Ok(nb_insert) => Ok(format!("[{}] rows inserted", nb_insert)), [INFO] [stderr] 292 | Err(msg) => Err(msg), [INFO] [stderr] 293 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:340:9 [INFO] [stderr] | [INFO] [stderr] 340 | / return match self.current_db.select(&tbl_name, col_list_option) { [INFO] [stderr] 341 | | Ok(result_set) => { [INFO] [stderr] 342 | | let mut printed_result = "\n".to_owned(); [INFO] [stderr] 343 | | match col_list_option { [INFO] [stderr] ... | [INFO] [stderr] 361 | | Err(msg) => Err(msg), [INFO] [stderr] 362 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 340 | match self.current_db.select(&tbl_name, col_list_option) { [INFO] [stderr] 341 | Ok(result_set) => { [INFO] [stderr] 342 | let mut printed_result = "\n".to_owned(); [INFO] [stderr] 343 | match col_list_option { [INFO] [stderr] 344 | Some(col_list) => { [INFO] [stderr] 345 | for col_name in col_list { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:31:32 [INFO] [stderr] | [INFO] [stderr] 31 | Some(a_tbl_ref) => return Ok(a_tbl_ref), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(a_tbl_ref)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:32:21 [INFO] [stderr] | [INFO] [stderr] 32 | None => return Err(format!("SQL ERROR : Unknown table [{}]", tbl_name)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("SQL ERROR : Unknown table [{}]", tbl_name))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:38:32 [INFO] [stderr] | [INFO] [stderr] 38 | Some(a_tbl_ref) => return Ok(a_tbl_ref), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(a_tbl_ref)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:39:21 [INFO] [stderr] | [INFO] [stderr] 39 | None => return Err(format!("SQL ERROR : Unknown table [{}]", tbl_name)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("SQL ERROR : Unknown table [{}]", tbl_name))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | / return match self.get_tbl_mut(tbl_name) { [INFO] [stderr] 45 | | Ok(tbl) => tbl.insert(values), [INFO] [stderr] 46 | | Err(msg) => Err(msg), [INFO] [stderr] 47 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 44 | match self.get_tbl_mut(tbl_name) { [INFO] [stderr] 45 | Ok(tbl) => tbl.insert(values), [INFO] [stderr] 46 | Err(msg) => Err(msg), [INFO] [stderr] 47 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | / return match self.get_tbl(tbl_name) { [INFO] [stderr] 55 | | Ok(tbl) => tbl.select(col_list), [INFO] [stderr] 56 | | Err(msg) => Err(msg), [INFO] [stderr] 57 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 54 | match self.get_tbl(tbl_name) { [INFO] [stderr] 55 | Ok(tbl) => tbl.select(col_list), [INFO] [stderr] 56 | Err(msg) => Err(msg), [INFO] [stderr] 57 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | return id; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | return Ok("Ok".to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok("Ok".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | return Ok(1); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return Ok(result_map); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(result_map)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/line.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | return result_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `result_string` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:40:24 [INFO] [stderr] | [INFO] [stderr] 40 | Ok(msg) => return Ok(msg), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(msg)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:43:17 [INFO] [stderr] | [INFO] [stderr] 43 | return Err(msg); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(msg)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:88:9 [INFO] [stderr] | [INFO] [stderr] 88 | return Ok(lowercase_string); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(lowercase_string)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:94:31 [INFO] [stderr] | [INFO] [stderr] 94 | Some("create") => return self.sql_create(words_it), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sql_create(words_it)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:95:31 [INFO] [stderr] | [INFO] [stderr] 95 | Some("insert") => return self.sql_insert(words_it), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sql_insert(words_it)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:96:31 [INFO] [stderr] | [INFO] [stderr] 96 | Some("select") => return self.sql_select(words_it), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sql_select(words_it)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:98:17 [INFO] [stderr] | [INFO] [stderr] 98 | return Err(format!("Bad SQL grammar : unknown keyword [{}]", &unknow)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("Bad SQL grammar : unknown keyword [{}]", &unknow))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:100:21 [INFO] [stderr] | [INFO] [stderr] 100 | None => return Err("Bad SQL grammar : Empty request".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Bad SQL grammar : Empty request".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:106:33 [INFO] [stderr] | [INFO] [stderr] 106 | Some("database") => return self.sql_create_database(words_it), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sql_create_database(words_it)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:107:30 [INFO] [stderr] | [INFO] [stderr] 107 | Some("table") => return self.sql_create_table(words_it), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `self.sql_create_table(words_it)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:109:17 [INFO] [stderr] | [INFO] [stderr] 109 | / return Err(format!("Bad SQL grammar : unknown keyword [{}]. Expecting one of \ [INFO] [stderr] 110 | | DATABASE,TABLE keyword", [INFO] [stderr] 111 | | &unknow)) [INFO] [stderr] | |____________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 109 | Err(format!("Bad SQL grammar : unknown keyword [{}]. Expecting one of \ [INFO] [stderr] 110 | DATABASE,TABLE keyword", [INFO] [stderr] 111 | &unknow)) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:113:21 [INFO] [stderr] | [INFO] [stderr] 113 | None => return Err("Bad SQL grammar : Empty request".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Bad SQL grammar : Empty request".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | return Ok("Done".to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok("Done".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:125:21 [INFO] [stderr] | [INFO] [stderr] 125 | None => return Err("Bad SQL grammar : Missing DB NAME".to_owned()), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err("Bad SQL grammar : Missing DB NAME".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | return Ok("Done".to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok("Done".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:290:9 [INFO] [stderr] | [INFO] [stderr] 290 | / return match self.current_db.insert(&tbl_name, values) { [INFO] [stderr] 291 | | Ok(nb_insert) => Ok(format!("[{}] rows inserted", nb_insert)), [INFO] [stderr] 292 | | Err(msg) => Err(msg), [INFO] [stderr] 293 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 290 | match self.current_db.insert(&tbl_name, values) { [INFO] [stderr] 291 | Ok(nb_insert) => Ok(format!("[{}] rows inserted", nb_insert)), [INFO] [stderr] 292 | Err(msg) => Err(msg), [INFO] [stderr] 293 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/sql_runner.rs:340:9 [INFO] [stderr] | [INFO] [stderr] 340 | / return match self.current_db.select(&tbl_name, col_list_option) { [INFO] [stderr] 341 | | Ok(result_set) => { [INFO] [stderr] 342 | | let mut printed_result = "\n".to_owned(); [INFO] [stderr] 343 | | match col_list_option { [INFO] [stderr] ... | [INFO] [stderr] 361 | | Err(msg) => Err(msg), [INFO] [stderr] 362 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 340 | match self.current_db.select(&tbl_name, col_list_option) { [INFO] [stderr] 341 | Ok(result_set) => { [INFO] [stderr] 342 | let mut printed_result = "\n".to_owned(); [INFO] [stderr] 343 | match col_list_option { [INFO] [stderr] 344 | Some(col_list) => { [INFO] [stderr] 345 | for col_name in col_list { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:31:32 [INFO] [stderr] | [INFO] [stderr] 31 | Some(a_tbl_ref) => return Ok(a_tbl_ref), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(a_tbl_ref)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:32:21 [INFO] [stderr] | [INFO] [stderr] 32 | None => return Err(format!("SQL ERROR : Unknown table [{}]", tbl_name)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("SQL ERROR : Unknown table [{}]", tbl_name))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:38:32 [INFO] [stderr] | [INFO] [stderr] 38 | Some(a_tbl_ref) => return Ok(a_tbl_ref), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(a_tbl_ref)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:39:21 [INFO] [stderr] | [INFO] [stderr] 39 | None => return Err(format!("SQL ERROR : Unknown table [{}]", tbl_name)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Err(format!("SQL ERROR : Unknown table [{}]", tbl_name))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | / return match self.get_tbl_mut(tbl_name) { [INFO] [stderr] 45 | | Ok(tbl) => tbl.insert(values), [INFO] [stderr] 46 | | Err(msg) => Err(msg), [INFO] [stderr] 47 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 44 | match self.get_tbl_mut(tbl_name) { [INFO] [stderr] 45 | Ok(tbl) => tbl.insert(values), [INFO] [stderr] 46 | Err(msg) => Err(msg), [INFO] [stderr] 47 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/database.rs:54:9 [INFO] [stderr] | [INFO] [stderr] 54 | / return match self.get_tbl(tbl_name) { [INFO] [stderr] 55 | | Ok(tbl) => tbl.select(col_list), [INFO] [stderr] 56 | | Err(msg) => Err(msg), [INFO] [stderr] 57 | | }; [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] help: remove `return` as shown [INFO] [stderr] | [INFO] [stderr] 54 | match self.get_tbl(tbl_name) { [INFO] [stderr] 55 | Ok(tbl) => tbl.select(col_list), [INFO] [stderr] 56 | Err(msg) => Err(msg), [INFO] [stderr] 57 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 17 | return id; [INFO] [stderr] | ^^^^^^^^^^ help: remove `return` as shown: `id` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | return Ok("Ok".to_owned()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok("Ok".to_owned())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table.rs:53:9 [INFO] [stderr] | [INFO] [stderr] 53 | return Ok(1); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(1)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/table.rs:98:9 [INFO] [stderr] | [INFO] [stderr] 98 | return Ok(result_map); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `Ok(result_map)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/line.rs:15:9 [INFO] [stderr] | [INFO] [stderr] 15 | return result_string; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `result_string` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/sql_runner.rs:185:12 [INFO] [stderr] | [INFO] [stderr] 185 | if columns.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `columns.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/sql_runner.rs:330:9 [INFO] [stderr] | [INFO] [stderr] 330 | / let mut col_list_option = None; [INFO] [stderr] 331 | | if !contains_star { [INFO] [stderr] 332 | | col_list_option = Some(&col_list); [INFO] [stderr] 333 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let col_list_option = if !contains_star { Some(&col_list) } else { None };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sql_runner.rs:395:17 [INFO] [stderr] | [INFO] [stderr] 395 | assert!(client.current_db.tables.get("kikitbl").unwrap().name == "kikitbl"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&client.current_db.tables["kikitbl"]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sql_runner.rs:396:17 [INFO] [stderr] | [INFO] [stderr] 396 | assert!(client.current_db [INFO] [stderr] | _________________^ [INFO] [stderr] 397 | | .tables [INFO] [stderr] 398 | | .get("kikitbl") [INFO] [stderr] 399 | | .unwrap() [INFO] [stderr] 400 | | .columns [INFO] [stderr] 401 | | .get("col1") [INFO] [stderr] 402 | | .unwrap() [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 396 | assert!(&client.current_db [INFO] [stderr] 397 | .tables [INFO] [stderr] 398 | .get("kikitbl") [INFO] [stderr] 399 | .unwrap() [INFO] [stderr] 400 | .columns["col1"] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sql_runner.rs:396:17 [INFO] [stderr] | [INFO] [stderr] 396 | assert!(client.current_db [INFO] [stderr] | _________________^ [INFO] [stderr] 397 | | .tables [INFO] [stderr] 398 | | .get("kikitbl") [INFO] [stderr] 399 | | .unwrap() [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 396 | assert!(&client.current_db [INFO] [stderr] 397 | .tables["kikitbl"] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sql_runner.rs:411:17 [INFO] [stderr] | [INFO] [stderr] 411 | assert!(client.current_db [INFO] [stderr] | _________________^ [INFO] [stderr] 412 | | .tables [INFO] [stderr] 413 | | .get("kikitbl") [INFO] [stderr] 414 | | .unwrap() [INFO] [stderr] 415 | | .columns [INFO] [stderr] 416 | | .get("col1") [INFO] [stderr] 417 | | .unwrap() [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 411 | assert!(&client.current_db [INFO] [stderr] 412 | .tables [INFO] [stderr] 413 | .get("kikitbl") [INFO] [stderr] 414 | .unwrap() [INFO] [stderr] 415 | .columns["col1"] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sql_runner.rs:411:17 [INFO] [stderr] | [INFO] [stderr] 411 | assert!(client.current_db [INFO] [stderr] | _________________^ [INFO] [stderr] 412 | | .tables [INFO] [stderr] 413 | | .get("kikitbl") [INFO] [stderr] 414 | | .unwrap() [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 411 | assert!(&client.current_db [INFO] [stderr] 412 | .tables["kikitbl"] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sql_runner.rs:420:17 [INFO] [stderr] | [INFO] [stderr] 420 | assert!(client.current_db [INFO] [stderr] | _________________^ [INFO] [stderr] 421 | | .tables [INFO] [stderr] 422 | | .get("kikitbl") [INFO] [stderr] 423 | | .unwrap() [INFO] [stderr] 424 | | .columns [INFO] [stderr] 425 | | .get("col1") [INFO] [stderr] 426 | | .unwrap() [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 420 | assert!(&client.current_db [INFO] [stderr] 421 | .tables [INFO] [stderr] 422 | .get("kikitbl") [INFO] [stderr] 423 | .unwrap() [INFO] [stderr] 424 | .columns["col1"] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sql_runner.rs:420:17 [INFO] [stderr] | [INFO] [stderr] 420 | assert!(client.current_db [INFO] [stderr] | _________________^ [INFO] [stderr] 421 | | .tables [INFO] [stderr] 422 | | .get("kikitbl") [INFO] [stderr] 423 | | .unwrap() [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 420 | assert!(&client.current_db [INFO] [stderr] 421 | .tables["kikitbl"] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sql_runner.rs:442:17 [INFO] [stderr] | [INFO] [stderr] 442 | assert!(client.current_db [INFO] [stderr] | _________________^ [INFO] [stderr] 443 | | .tables [INFO] [stderr] 444 | | .get("kikitbl") [INFO] [stderr] 445 | | .unwrap() [INFO] [stderr] 446 | | .columns [INFO] [stderr] 447 | | .get("col1") [INFO] [stderr] 448 | | .unwrap() [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 442 | assert!(&client.current_db [INFO] [stderr] 443 | .tables [INFO] [stderr] 444 | .get("kikitbl") [INFO] [stderr] 445 | .unwrap() [INFO] [stderr] 446 | .columns["col1"] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sql_runner.rs:442:17 [INFO] [stderr] | [INFO] [stderr] 442 | assert!(client.current_db [INFO] [stderr] | _________________^ [INFO] [stderr] 443 | | .tables [INFO] [stderr] 444 | | .get("kikitbl") [INFO] [stderr] 445 | | .unwrap() [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 442 | assert!(&client.current_db [INFO] [stderr] 443 | .tables["kikitbl"] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sql_runner.rs:467:17 [INFO] [stderr] | [INFO] [stderr] 467 | assert!(client.current_db [INFO] [stderr] | _________________^ [INFO] [stderr] 468 | | .tables [INFO] [stderr] 469 | | .get("kikitbl") [INFO] [stderr] 470 | | .unwrap() [INFO] [stderr] 471 | | .columns [INFO] [stderr] 472 | | .get("col1") [INFO] [stderr] 473 | | .unwrap() [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 467 | assert!(&client.current_db [INFO] [stderr] 468 | .tables [INFO] [stderr] 469 | .get("kikitbl") [INFO] [stderr] 470 | .unwrap() [INFO] [stderr] 471 | .columns["col1"] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/sql_runner.rs:467:17 [INFO] [stderr] | [INFO] [stderr] 467 | assert!(client.current_db [INFO] [stderr] | _________________^ [INFO] [stderr] 468 | | .tables [INFO] [stderr] 469 | | .get("kikitbl") [INFO] [stderr] 470 | | .unwrap() [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 467 | assert!(&client.current_db [INFO] [stderr] 468 | .tables["kikitbl"] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/database.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | / &self.tables.insert(tbl_name.clone(), [INFO] [stderr] 22 | | table::Table { [INFO] [stderr] 23 | | id_seed: 0, [INFO] [stderr] 24 | | name: tbl_name, [INFO] [stderr] 25 | | columns: columns, [INFO] [stderr] 26 | | }); [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_operation)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] help: replace it with [INFO] [stderr] | [INFO] [stderr] 21 | self.tables.insert(tbl_name.clone(), [INFO] [stderr] 22 | table::Table { [INFO] [stderr] 23 | id_seed: 0, [INFO] [stderr] 24 | name: tbl_name, [INFO] [stderr] 25 | columns: columns, [INFO] [stderr] 26 | }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/table.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | self.id_seed = self.id_seed + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.id_seed += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/table.rs:20:42 [INFO] [stderr] | [INFO] [stderr] 20 | fn check_cols_exist(&self, col_list: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/table.rs:31:39 [INFO] [stderr] | [INFO] [stderr] 31 | match self.check_cols_exist(&(values.keys().map(|&x| x).collect())) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `values.keys().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/table.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | / &self.columns [INFO] [stderr] 42 | | .get_mut(col_name.to_owned()) [INFO] [stderr] 43 | | .unwrap() [INFO] [stderr] 44 | | .cells [INFO] [stderr] ... | [INFO] [stderr] 48 | | value: val.to_owned(), [INFO] [stderr] 49 | | }); [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] help: replace it with [INFO] [stderr] | [INFO] [stderr] 41 | self.columns [INFO] [stderr] 42 | .get_mut(col_name.to_owned()) [INFO] [stderr] 43 | .unwrap() [INFO] [stderr] 44 | .cells [INFO] [stderr] 45 | .insert(new_id.clone(), [INFO] [stderr] 46 | cell::Cell { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/table.rs:74:26 [INFO] [stderr] | [INFO] [stderr] 74 | let a_col = &self.columns [INFO] [stderr] | __________________________^ [INFO] [stderr] 75 | | .get(*col_name) [INFO] [stderr] 76 | | .unwrap(); [INFO] [stderr] | |_________________________^ help: try this: `&self.columns[*col_name]` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/table.rs:79:16 [INFO] [stderr] | [INFO] [stderr] 79 | if result_map.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result_map.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/main.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 21 | if let Err(_) = rl.load_history("history.txt") { [INFO] [stderr] | _____- ^^^^^^ [INFO] [stderr] 22 | | println!("[INFO]No previous history."); [INFO] [stderr] 23 | | } [INFO] [stderr] | |_____- help: try this: `if rl.load_history("history.txt").is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/sql_runner.rs:185:12 [INFO] [stderr] | [INFO] [stderr] 185 | if columns.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `columns.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: `if _ { .. } else { .. }` is an expression [INFO] [stderr] --> src/sql_runner.rs:330:9 [INFO] [stderr] | [INFO] [stderr] 330 | / let mut col_list_option = None; [INFO] [stderr] 331 | | if !contains_star { [INFO] [stderr] 332 | | col_list_option = Some(&col_list); [INFO] [stderr] 333 | | } [INFO] [stderr] | |_________^ help: it is more idiomatic to write: `let col_list_option = if !contains_star { Some(&col_list) } else { None };` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_let_if_seq)] on by default [INFO] [stderr] = note: you might not need `mut` at all [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_let_if_seq [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/database.rs:21:9 [INFO] [stderr] | [INFO] [stderr] 21 | / &self.tables.insert(tbl_name.clone(), [INFO] [stderr] 22 | | table::Table { [INFO] [stderr] 23 | | id_seed: 0, [INFO] [stderr] 24 | | name: tbl_name, [INFO] [stderr] 25 | | columns: columns, [INFO] [stderr] 26 | | }); [INFO] [stderr] | |_______________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_operation)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] help: replace it with [INFO] [stderr] | [INFO] [stderr] 21 | self.tables.insert(tbl_name.clone(), [INFO] [stderr] 22 | table::Table { [INFO] [stderr] 23 | id_seed: 0, [INFO] [stderr] 24 | name: tbl_name, [INFO] [stderr] 25 | columns: columns, [INFO] [stderr] 26 | }); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/table.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | self.id_seed = self.id_seed + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.id_seed += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/table.rs:20:42 [INFO] [stderr] | [INFO] [stderr] 20 | fn check_cols_exist(&self, col_list: &Vec<&str>) -> Result { [INFO] [stderr] | ^^^^^^^^^^ help: change this to: `&[&str]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/table.rs:31:39 [INFO] [stderr] | [INFO] [stderr] 31 | match self.check_cols_exist(&(values.keys().map(|&x| x).collect())) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: Consider calling the dedicated `cloned` method: `values.keys().cloned()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] [INFO] [stderr] warning: statement can be reduced [INFO] [stderr] --> src/table.rs:41:13 [INFO] [stderr] | [INFO] [stderr] 41 | / &self.columns [INFO] [stderr] 42 | | .get_mut(col_name.to_owned()) [INFO] [stderr] 43 | | .unwrap() [INFO] [stderr] 44 | | .cells [INFO] [stderr] ... | [INFO] [stderr] 48 | | value: val.to_owned(), [INFO] [stderr] 49 | | }); [INFO] [stderr] | |___________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stderr] help: replace it with [INFO] [stderr] | [INFO] [stderr] 41 | self.columns [INFO] [stderr] 42 | .get_mut(col_name.to_owned()) [INFO] [stderr] 43 | .unwrap() [INFO] [stderr] 44 | .cells [INFO] [stderr] 45 | .insert(new_id.clone(), [INFO] [stderr] 46 | cell::Cell { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/table.rs:74:26 [INFO] [stderr] | [INFO] [stderr] 74 | let a_col = &self.columns [INFO] [stderr] | __________________________^ [INFO] [stderr] 75 | | .get(*col_name) [INFO] [stderr] 76 | | .unwrap(); [INFO] [stderr] | |_________________________^ help: try this: `&self.columns[*col_name]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/table.rs:79:16 [INFO] [stderr] | [INFO] [stderr] 79 | if result_map.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `result_map.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: redundant pattern matching, consider using `is_err()` [INFO] [stderr] --> src/main.rs:21:12 [INFO] [stderr] | [INFO] [stderr] 21 | if let Err(_) = rl.load_history("history.txt") { [INFO] [stderr] | _____- ^^^^^^ [INFO] [stderr] 22 | | println!("[INFO]No previous history."); [INFO] [stderr] 23 | | } [INFO] [stderr] | |_____- help: try this: `if rl.load_history("history.txt").is_err()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_pattern_matching)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 7.05s [INFO] running `"docker" "inspect" "94dc64553f15003338c9fb8660e4050989ac6071422182e7d1258d4301a00955"` [INFO] running `"docker" "rm" "-f" "94dc64553f15003338c9fb8660e4050989ac6071422182e7d1258d4301a00955"` [INFO] [stdout] 94dc64553f15003338c9fb8660e4050989ac6071422182e7d1258d4301a00955