[INFO] fetching crate hotpot-db 0.0.2... [INFO] linting hotpot-db-0.0.2 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate hotpot-db 0.0.2 into /workspace/builds/worker-3-tc1/source [INFO] started tweaking crates.io crate hotpot-db 0.0.2 [INFO] finished tweaking crates.io crate hotpot-db 0.0.2 [INFO] tweaked toml for crates.io crate hotpot-db 0.0.2 written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate hotpot-db 0.0.2 on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate hotpot-db 0.0.2 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded linked-hash-map v0.5.2 [INFO] [stderr] Downloaded vcpkg v0.2.8 [INFO] [stderr] Downloaded memchr v2.3.0 [INFO] [stderr] Downloaded ryu v1.0.2 [INFO] [stderr] Downloaded serde_derive v1.0.104 [INFO] [stderr] Downloaded serde_json v1.0.47 [INFO] [stderr] Downloaded rusqlite v0.21.0 [INFO] [stderr] Downloaded serde v1.0.104 [INFO] [stderr] Downloaded syn v1.0.14 [INFO] [stderr] Downloaded libsqlite3-sys v0.17.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 56be82e8da8374b09501abc9a7956bfd7d4fe27cd9da8db06fbd58ef3c6ee9cb [INFO] running `Command { std: "docker" "start" "-a" "56be82e8da8374b09501abc9a7956bfd7d4fe27cd9da8db06fbd58ef3c6ee9cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "56be82e8da8374b09501abc9a7956bfd7d4fe27cd9da8db06fbd58ef3c6ee9cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "56be82e8da8374b09501abc9a7956bfd7d4fe27cd9da8db06fbd58ef3c6ee9cb", kill_on_drop: false }` [INFO] [stdout] 56be82e8da8374b09501abc9a7956bfd7d4fe27cd9da8db06fbd58ef3c6ee9cb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7bfaf5bd260cdda519f2a3905aa9e9485b1d667253933fe9785be9f6101b4681 [INFO] running `Command { std: "docker" "start" "-a" "7bfaf5bd260cdda519f2a3905aa9e9485b1d667253933fe9785be9f6101b4681", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.8 [INFO] [stderr] Compiling unicode-xid v0.2.0 [INFO] [stderr] Compiling syn v1.0.14 [INFO] [stderr] Compiling libc v0.2.66 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Compiling serde v1.0.104 [INFO] [stderr] Compiling cc v1.0.50 [INFO] [stderr] Compiling pkg-config v0.3.17 [INFO] [stderr] Compiling memchr v2.3.0 [INFO] [stderr] Checking itoa v0.4.5 [INFO] [stderr] Checking linked-hash-map v0.5.2 [INFO] [stderr] Checking fallible-streaming-iterator v0.1.9 [INFO] [stderr] Checking fallible-iterator v0.2.0 [INFO] [stderr] Checking lru-cache v0.1.2 [INFO] [stderr] Checking time v0.1.42 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling libsqlite3-sys v0.17.1 [INFO] [stderr] Compiling serde_derive v1.0.104 [INFO] [stderr] Checking serde_json v1.0.47 [INFO] [stderr] Checking rusqlite v0.21.0 [INFO] [stderr] Checking hotpot-db v0.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/lib.rs:391:13 [INFO] [stdout] | [INFO] [stdout] 391 | let res = stmt.execute(params![])?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/lib.rs:391:13 [INFO] [stdout] | [INFO] [stdout] 391 | let res = stmt.execute(params![])?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `QueryBuilder` [INFO] [stdout] --> src/lib.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | / pub fn new() -> QueryBuilder { [INFO] [stdout] 105 | | QueryBuilder { [INFO] [stdout] 106 | | query_type: None, [INFO] [stdout] 107 | | collection: None, [INFO] [stdout] ... | [INFO] [stdout] 115 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 103 + impl Default for QueryBuilder { [INFO] [stdout] 104 + fn default() -> Self { [INFO] [stdout] 105 + Self::new() [INFO] [stdout] 106 + } [INFO] [stdout] 107 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/lib.rs:138:32 [INFO] [stdout] | [INFO] [stdout] 138 | self.bool_value = Some(value.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `f32` which implements the `Copy` trait [INFO] [stdout] --> src/lib.rs:143:33 [INFO] [stdout] | [INFO] [stdout] 143 | self.float_value = Some(value.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/lib.rs:148:31 [INFO] [stdout] | [INFO] [stdout] 148 | self.int_value = Some(value.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HotPot` [INFO] [stdout] --> src/lib.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | / pub fn new() -> HotPot { [INFO] [stdout] 173 | | let mut hp = HotPot { [INFO] [stdout] 174 | | conn: Connection::open("database.hpdb").unwrap(), [INFO] [stdout] 175 | | collections: HashMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 191 | | hp [INFO] [stdout] 192 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 171 + impl Default for HotPot { [INFO] [stdout] 172 + fn default() -> Self { [INFO] [stdout] 173 + Self::new() [INFO] [stdout] 174 + } [INFO] [stdout] 175 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lib.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | / match collections { [INFO] [stdout] 179 | | Ok(collection_names) => { [INFO] [stdout] 180 | | for name in collection_names { [INFO] [stdout] 181 | | hp.collections.insert( [INFO] [stdout] ... | [INFO] [stdout] 189 | | Err(_) => (), [INFO] [stdout] 190 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 178 ~ if let Ok(collection_names) = collections { [INFO] [stdout] 179 + for name in collection_names { [INFO] [stdout] 180 + hp.collections.insert( [INFO] [stdout] 181 + String::from(name.clone()), [INFO] [stdout] 182 + Collection { [INFO] [stdout] 183 + name: String::from(name), [INFO] [stdout] 184 + }, [INFO] [stdout] 185 + ); [INFO] [stdout] 186 + } [INFO] [stdout] 187 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `QueryBuilder` [INFO] [stdout] --> src/lib.rs:104:5 [INFO] [stdout] | [INFO] [stdout] 104 | / pub fn new() -> QueryBuilder { [INFO] [stdout] 105 | | QueryBuilder { [INFO] [stdout] 106 | | query_type: None, [INFO] [stdout] 107 | | collection: None, [INFO] [stdout] ... | [INFO] [stdout] 115 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 103 + impl Default for QueryBuilder { [INFO] [stdout] 104 + fn default() -> Self { [INFO] [stdout] 105 + Self::new() [INFO] [stdout] 106 + } [INFO] [stdout] 107 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/lib.rs:182:25 [INFO] [stdout] | [INFO] [stdout] 182 | String::from(name.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `name.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/lib.rs:184:35 [INFO] [stdout] | [INFO] [stdout] 184 | ... name: String::from(name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/lib.rs:198:52 [INFO] [stdout] | [INFO] [stdout] 198 | let rows = stmt.query_map(NO_PARAMS, |row| Ok(row.get(0)?))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 198 - let rows = stmt.query_map(NO_PARAMS, |row| Ok(row.get(0)?))?; [INFO] [stdout] 198 + let rows = stmt.query_map(NO_PARAMS, |row| row.get(0))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `bool` which implements the `Copy` trait [INFO] [stdout] --> src/lib.rs:138:32 [INFO] [stdout] | [INFO] [stdout] 138 | self.bool_value = Some(value.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary operation [INFO] [stdout] --> src/lib.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | / &self [INFO] [stdout] 208 | | .conn [INFO] [stdout] 209 | | .execute( [INFO] [stdout] 210 | | &format!( [INFO] [stdout] ... | [INFO] [stdout] 221 | | .map_err(|_| Error::General); [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stdout] = note: `#[warn(clippy::unnecessary_operation)]` on by default [INFO] [stdout] help: statement can be reduced to [INFO] [stdout] | [INFO] [stdout] 207 ~ self [INFO] [stdout] 208 + .conn [INFO] [stdout] 209 + .execute( [INFO] [stdout] 210 + &format!( [INFO] [stdout] 211 + " [INFO] [stdout] 212 + CREATE TABLE {} ( [INFO] [stdout] 213 + id INTEGER PRIMARY KEY, [INFO] [stdout] 214 + time_created INTEGER NOT NULL, [INFO] [stdout] 215 + data BLOB [INFO] [stdout] 216 + )", [INFO] [stdout] 217 + name [INFO] [stdout] 218 + ), [INFO] [stdout] 219 + params![], [INFO] [stdout] 220 + ) [INFO] [stdout] 221 + .map_err(|_| Error::General); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `f32` which implements the `Copy` trait [INFO] [stdout] --> src/lib.rs:143:33 [INFO] [stdout] | [INFO] [stdout] 143 | self.float_value = Some(value.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `i32` which implements the `Copy` trait [INFO] [stdout] --> src/lib.rs:148:31 [INFO] [stdout] | [INFO] [stdout] 148 | self.int_value = Some(value.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `value` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary operation [INFO] [stdout] --> src/lib.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | / &self.collections.insert( [INFO] [stdout] 223 | | String::from(name), [INFO] [stdout] 224 | | Collection { [INFO] [stdout] 225 | | name: String::from(name), [INFO] [stdout] 226 | | }, [INFO] [stdout] 227 | | ); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stdout] help: statement can be reduced to [INFO] [stdout] | [INFO] [stdout] 222 ~ self.collections.insert( [INFO] [stdout] 223 + String::from(name), [INFO] [stdout] 224 + Collection { [INFO] [stdout] 225 + name: String::from(name), [INFO] [stdout] 226 + }, [INFO] [stdout] 227 + ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:240:20 [INFO] [stdout] | [INFO] [stdout] 240 | if !query.string_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.string_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:250:20 [INFO] [stdout] | [INFO] [stdout] 250 | if !query.int_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.int_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `HotPot` [INFO] [stdout] --> src/lib.rs:172:5 [INFO] [stdout] | [INFO] [stdout] 172 | / pub fn new() -> HotPot { [INFO] [stdout] 173 | | let mut hp = HotPot { [INFO] [stdout] 174 | | conn: Connection::open("database.hpdb").unwrap(), [INFO] [stdout] 175 | | collections: HashMap::new(), [INFO] [stdout] ... | [INFO] [stdout] 191 | | hp [INFO] [stdout] 192 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 171 + impl Default for HotPot { [INFO] [stdout] 172 + fn default() -> Self { [INFO] [stdout] 173 + Self::new() [INFO] [stdout] 174 + } [INFO] [stdout] 175 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:260:20 [INFO] [stdout] | [INFO] [stdout] 260 | if !query.bool_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.bool_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:270:20 [INFO] [stdout] | [INFO] [stdout] 270 | if !query.float_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.float_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:282:20 [INFO] [stdout] | [INFO] [stdout] 282 | if !query.string_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.string_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:293:20 [INFO] [stdout] | [INFO] [stdout] 293 | if !query.int_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.int_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:304:20 [INFO] [stdout] | [INFO] [stdout] 304 | if !query.bool_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.bool_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lib.rs:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | / match collections { [INFO] [stdout] 179 | | Ok(collection_names) => { [INFO] [stdout] 180 | | for name in collection_names { [INFO] [stdout] 181 | | hp.collections.insert( [INFO] [stdout] ... | [INFO] [stdout] 189 | | Err(_) => (), [INFO] [stdout] 190 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 178 ~ if let Ok(collection_names) = collections { [INFO] [stdout] 179 + for name in collection_names { [INFO] [stdout] 180 + hp.collections.insert( [INFO] [stdout] 181 + String::from(name.clone()), [INFO] [stdout] 182 + Collection { [INFO] [stdout] 183 + name: String::from(name), [INFO] [stdout] 184 + }, [INFO] [stdout] 185 + ); [INFO] [stdout] 186 + } [INFO] [stdout] 187 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:315:20 [INFO] [stdout] | [INFO] [stdout] 315 | if !query.float_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.float_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.string_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:246:30 [INFO] [stdout] | [INFO] [stdout] 240 | if !query.string_value.is_none() { [INFO] [stdout] | ---------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 246 | &query.string_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.int_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:256:30 [INFO] [stdout] | [INFO] [stdout] 250 | if !query.int_value.is_none() { [INFO] [stdout] | ------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 256 | &query.int_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.bool_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:266:30 [INFO] [stdout] | [INFO] [stdout] 260 | if !query.bool_value.is_none() { [INFO] [stdout] | -------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 266 | &query.bool_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.float_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:276:30 [INFO] [stdout] | [INFO] [stdout] 270 | if !query.float_value.is_none() { [INFO] [stdout] | --------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 276 | &query.float_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.string_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:289:30 [INFO] [stdout] | [INFO] [stdout] 282 | if !query.string_value.is_none() { [INFO] [stdout] | ---------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 289 | &query.string_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.int_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:300:30 [INFO] [stdout] | [INFO] [stdout] 293 | if !query.int_value.is_none() { [INFO] [stdout] | ------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 300 | &query.int_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.bool_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:311:30 [INFO] [stdout] | [INFO] [stdout] 304 | if !query.bool_value.is_none() { [INFO] [stdout] | -------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 311 | &query.bool_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.float_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:323:30 [INFO] [stdout] | [INFO] [stdout] 315 | if !query.float_value.is_none() { [INFO] [stdout] | --------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 323 | &query.float_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:248:26 [INFO] [stdout] | [INFO] [stdout] 248 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:258:26 [INFO] [stdout] | [INFO] [stdout] 258 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:268:26 [INFO] [stdout] | [INFO] [stdout] 268 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:278:26 [INFO] [stdout] | [INFO] [stdout] 278 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:291:26 [INFO] [stdout] | [INFO] [stdout] 291 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:302:26 [INFO] [stdout] | [INFO] [stdout] 302 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:313:26 [INFO] [stdout] | [INFO] [stdout] 313 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:325:26 [INFO] [stdout] | [INFO] [stdout] 325 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/lib.rs:182:25 [INFO] [stdout] | [INFO] [stdout] 182 | String::from(name.clone()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `name.clone()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> src/lib.rs:184:35 [INFO] [stdout] | [INFO] [stdout] 184 | ... name: String::from(name), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `name` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enclosing `Ok` and `?` operator are unneeded [INFO] [stdout] --> src/lib.rs:198:52 [INFO] [stdout] | [INFO] [stdout] 198 | let rows = stmt.query_map(NO_PARAMS, |row| Ok(row.get(0)?))?; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_question_mark [INFO] [stdout] = note: `#[warn(clippy::needless_question_mark)]` on by default [INFO] [stdout] help: remove the enclosing `Ok` and `?` operator [INFO] [stdout] | [INFO] [stdout] 198 - let rows = stmt.query_map(NO_PARAMS, |row| Ok(row.get(0)?))?; [INFO] [stdout] 198 + let rows = stmt.query_map(NO_PARAMS, |row| row.get(0))?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary operation [INFO] [stdout] --> src/lib.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | / &self [INFO] [stdout] 208 | | .conn [INFO] [stdout] 209 | | .execute( [INFO] [stdout] 210 | | &format!( [INFO] [stdout] ... | [INFO] [stdout] 221 | | .map_err(|_| Error::General); [INFO] [stdout] | |_________________________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stdout] = note: `#[warn(clippy::unnecessary_operation)]` on by default [INFO] [stdout] help: statement can be reduced to [INFO] [stdout] | [INFO] [stdout] 207 ~ self [INFO] [stdout] 208 + .conn [INFO] [stdout] 209 + .execute( [INFO] [stdout] 210 + &format!( [INFO] [stdout] 211 + " [INFO] [stdout] 212 + CREATE TABLE {} ( [INFO] [stdout] 213 + id INTEGER PRIMARY KEY, [INFO] [stdout] 214 + time_created INTEGER NOT NULL, [INFO] [stdout] 215 + data BLOB [INFO] [stdout] 216 + )", [INFO] [stdout] 217 + name [INFO] [stdout] 218 + ), [INFO] [stdout] 219 + params![], [INFO] [stdout] 220 + ) [INFO] [stdout] 221 + .map_err(|_| Error::General); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary operation [INFO] [stdout] --> src/lib.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | / &self.collections.insert( [INFO] [stdout] 223 | | String::from(name), [INFO] [stdout] 224 | | Collection { [INFO] [stdout] 225 | | name: String::from(name), [INFO] [stdout] 226 | | }, [INFO] [stdout] 227 | | ); [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_operation [INFO] [stdout] help: statement can be reduced to [INFO] [stdout] | [INFO] [stdout] 222 ~ self.collections.insert( [INFO] [stdout] 223 + String::from(name), [INFO] [stdout] 224 + Collection { [INFO] [stdout] 225 + name: String::from(name), [INFO] [stdout] 226 + }, [INFO] [stdout] 227 + ); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:240:20 [INFO] [stdout] | [INFO] [stdout] 240 | if !query.string_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.string_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:250:20 [INFO] [stdout] | [INFO] [stdout] 250 | if !query.int_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.int_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:260:20 [INFO] [stdout] | [INFO] [stdout] 260 | if !query.bool_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.bool_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:270:20 [INFO] [stdout] | [INFO] [stdout] 270 | if !query.float_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.float_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:282:20 [INFO] [stdout] | [INFO] [stdout] 282 | if !query.string_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.string_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:293:20 [INFO] [stdout] | [INFO] [stdout] 293 | if !query.int_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.int_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:304:20 [INFO] [stdout] | [INFO] [stdout] 304 | if !query.bool_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.bool_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:315:20 [INFO] [stdout] | [INFO] [stdout] 315 | if !query.float_value.is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `query.float_value.is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.string_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:246:30 [INFO] [stdout] | [INFO] [stdout] 240 | if !query.string_value.is_none() { [INFO] [stdout] | ---------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 246 | &query.string_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.int_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:256:30 [INFO] [stdout] | [INFO] [stdout] 250 | if !query.int_value.is_none() { [INFO] [stdout] | ------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 256 | &query.int_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.bool_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:266:30 [INFO] [stdout] | [INFO] [stdout] 260 | if !query.bool_value.is_none() { [INFO] [stdout] | -------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 266 | &query.bool_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.float_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:276:30 [INFO] [stdout] | [INFO] [stdout] 270 | if !query.float_value.is_none() { [INFO] [stdout] | --------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 276 | &query.float_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.string_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:289:30 [INFO] [stdout] | [INFO] [stdout] 282 | if !query.string_value.is_none() { [INFO] [stdout] | ---------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 289 | &query.string_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.int_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:300:30 [INFO] [stdout] | [INFO] [stdout] 293 | if !query.int_value.is_none() { [INFO] [stdout] | ------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 300 | &query.int_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.bool_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:311:30 [INFO] [stdout] | [INFO] [stdout] 304 | if !query.bool_value.is_none() { [INFO] [stdout] | -------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 311 | &query.bool_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: called `unwrap` on `query.float_value` after checking its variant with `is_none` [INFO] [stdout] --> src/lib.rs:323:30 [INFO] [stdout] | [INFO] [stdout] 315 | if !query.float_value.is_none() { [INFO] [stdout] | --------------------------- the check is happening here [INFO] [stdout] ... [INFO] [stdout] 323 | &query.float_value.unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: try using `match` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:248:26 [INFO] [stdout] | [INFO] [stdout] 248 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] = note: `#[warn(clippy::unwrap_or_default)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:258:26 [INFO] [stdout] | [INFO] [stdout] 258 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:268:26 [INFO] [stdout] | [INFO] [stdout] 268 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:278:26 [INFO] [stdout] | [INFO] [stdout] 278 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:291:26 [INFO] [stdout] | [INFO] [stdout] 291 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/lib.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | / &self [INFO] [stdout] 208 | | .conn [INFO] [stdout] 209 | | .execute( [INFO] [stdout] 210 | | &format!( [INFO] [stdout] ... | [INFO] [stdout] 221 | | .map_err(|_| Error::General); [INFO] [stdout] | |________________________________________^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 207 | let _ = &self [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:302:26 [INFO] [stdout] | [INFO] [stdout] 302 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/lib.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | / &self.collections.insert( [INFO] [stdout] 223 | | String::from(name), [INFO] [stdout] 224 | | Collection { [INFO] [stdout] 225 | | name: String::from(name), [INFO] [stdout] 226 | | }, [INFO] [stdout] 227 | | ); [INFO] [stdout] | |_________^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 222 | let _ = &self.collections.insert( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:313:26 [INFO] [stdout] | [INFO] [stdout] 313 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of `unwrap_or` to construct default value [INFO] [stdout] --> src/lib.rs:325:26 [INFO] [stdout] | [INFO] [stdout] 325 | .unwrap_or(Vec::new()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `unwrap_or_default()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unwrap_or_default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/lib.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | / &self [INFO] [stdout] 208 | | .conn [INFO] [stdout] 209 | | .execute( [INFO] [stdout] 210 | | &format!( [INFO] [stdout] ... | [INFO] [stdout] 221 | | .map_err(|_| Error::General); [INFO] [stdout] | |________________________________________^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 207 | let _ = &self [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> src/lib.rs:222:9 [INFO] [stdout] | [INFO] [stdout] 222 | / &self.collections.insert( [INFO] [stdout] 223 | | String::from(name), [INFO] [stdout] 224 | | Collection { [INFO] [stdout] 225 | | name: String::from(name), [INFO] [stdout] 226 | | }, [INFO] [stdout] 227 | | ); [INFO] [stdout] | |_________^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 222 | let _ = &self.collections.insert( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> examples/store_query.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Serialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: `#[warn(unexpected_cfgs)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unexpected `cfg` condition value: `cargo-clippy` [INFO] [stdout] --> examples/store_query.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: no expected values for `feature` [INFO] [stdout] = note: using a cfg inside a derive macro will use the cfgs from the destination crate and not the ones from the defining crate [INFO] [stdout] = help: try referring to `Deserialize` crate for guidance on how handle this unexpected cfg [INFO] [stdout] = help: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: see for more information about checking conditional configuration [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> examples/store_query.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Serialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_SERIALIZE_FOR_Person` [INFO] [stdout] 5 | struct Person { [INFO] [stdout] | ------ `Person` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Serialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Serialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> examples/store_query.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | #[derive(Debug, Serialize, Deserialize)] [INFO] [stdout] | ^---------- [INFO] [stdout] | | [INFO] [stdout] | `Deserialize` is not local [INFO] [stdout] | move the `impl` block outside of this constant `_IMPL_DESERIALIZE_FOR_Person` [INFO] [stdout] 5 | struct Person { [INFO] [stdout] | ------ `Person` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Deserialize` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Deserialize` may come from an old version of the `serde_derive` crate, try updating your dependency with `cargo update -p serde_derive` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint [INFO] [stdout] = note: this warning originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "7bfaf5bd260cdda519f2a3905aa9e9485b1d667253933fe9785be9f6101b4681", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7bfaf5bd260cdda519f2a3905aa9e9485b1d667253933fe9785be9f6101b4681", kill_on_drop: false }` [INFO] [stdout] 7bfaf5bd260cdda519f2a3905aa9e9485b1d667253933fe9785be9f6101b4681