[INFO] fetching crate rusqlite-le 0.24.2... [INFO] linting rusqlite-le-0.24.2 against nightly for clippy-nonminimal_bool-denied [INFO] extracting crate rusqlite-le 0.24.2 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate rusqlite-le 0.24.2 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate rusqlite-le 0.24.2 [INFO] tweaked toml for crates.io crate rusqlite-le 0.24.2 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate rusqlite-le 0.24.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] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Locking 154 packages to latest compatible versions [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.11.0) [INFO] [stderr] Adding fallible-iterator v0.2.0 (available: v0.3.0) [INFO] [stderr] Adding hashlink v0.6.0 (available: v0.11.0) [INFO] [stderr] Adding time v0.2.27 (available: v0.3.47) [INFO] [stderr] Adding uuid v0.8.2 (available: v1.22.0) [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] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded hashlink v0.6.0 [INFO] [stderr] Downloaded libsqlite3-sys-le v0.21.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] dddebd8b6b1273815960cc88bccb4a054ec3cfd34f89997a517cccd753b014ae [INFO] running `Command { std: "docker" "start" "-a" "dddebd8b6b1273815960cc88bccb4a054ec3cfd34f89997a517cccd753b014ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "dddebd8b6b1273815960cc88bccb4a054ec3cfd34f89997a517cccd753b014ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dddebd8b6b1273815960cc88bccb4a054ec3cfd34f89997a517cccd753b014ae", kill_on_drop: false }` [INFO] [stdout] dddebd8b6b1273815960cc88bccb4a054ec3cfd34f89997a517cccd753b014ae [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 676094b3b45514dde110d39b94899cfe6b1c4debba135b6ec5399dd90e5d0754 [INFO] running `Command { std: "docker" "start" "-a" "676094b3b45514dde110d39b94899cfe6b1c4debba135b6ec5399dd90e5d0754", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.183 [INFO] [stderr] Compiling doc-comment v0.3.4 [INFO] [stderr] Compiling libsqlite3-sys-le v0.21.0 [INFO] [stderr] Checking bencher v0.1.5 [INFO] [stderr] Checking hashlink v0.6.0 [INFO] [stderr] Checking rusqlite-le v0.24.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/error.rs:364:18 [INFO] [stdout] | [INFO] [stdout] 364 | if rc != crate::ffi::SQLITE_OK { [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] = note: `#[warn(clippy::crate_in_macro_def)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/error.rs:182:31 [INFO] [stdout] | [INFO] [stdout] 182 | const UNKNOWN_COLUMN: usize = std::usize::MAX; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 182 - const UNKNOWN_COLUMN: usize = std::usize::MAX; [INFO] [stdout] 182 + const UNKNOWN_COLUMN: usize = usize::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is an outer doc comment and does not apply to the parent module or crate [INFO] [stdout] --> src/busy.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | ///! Busy handler (when the database is locked) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_doc_comments [INFO] [stdout] = note: `#[warn(clippy::suspicious_doc_comments)]` on by default [INFO] [stdout] help: use an inner doc comment to document the parent module or crate [INFO] [stdout] | [INFO] [stdout] 1 - ///! Busy handler (when the database is locked) [INFO] [stdout] 1 + //! Busy handler (when the database is locked) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/column.rs:30:43 [INFO] [stdout] | [INFO] [stdout] 30 | let mut cols = Vec::with_capacity(n as usize); [INFO] [stdout] | ^^^^^^^^^^ help: try: `n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/inner_connection.rs:44:29 [INFO] [stdout] | [INFO] [stdout] 44 | interrupt_lock: Arc::new(Mutex::new(db)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Mutex<*mut sqlite3>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Mutex<*mut sqlite3>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/params.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | /// reasons, so it really is only for the "reference to array" types — [INFO] [stdout] | ^^^^^^^^ help: try using ` ` (6 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/params.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | /// hence why the number of parameters must be <= 32 or you need to [INFO] [stdout] | ^^^^^^^^ help: try using ` ` (6 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/params.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | /// reach for `rusqlite::params!`) [INFO] [stdout] | ^^^^^^^^ help: try using ` ` (6 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/params.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | /// references to arrays of non-references (e.g. `&[1i32, 2, 3]`). Code like [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/params.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | /// this should instead either use `params!`, an array literal, a `&[&dyn [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking getrandom v0.4.2 [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pragma.rs:201:15 [INFO] [stdout] | [INFO] [stdout] 201 | f(&row)?; [INFO] [stdout] | ^^^^ help: change this to: `row` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pragma.rs:237:15 [INFO] [stdout] | [INFO] [stdout] 237 | f(&row)?; [INFO] [stdout] | ^^^^ help: change this to: `row` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/pragma.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | (c >= 'A' && c <= 'Z') || c == '_' || (c >= 'a' && c <= 'z') || c > '\x7F' [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/pragma.rs:301:43 [INFO] [stdout] | [INFO] [stdout] 301 | (c >= 'A' && c <= 'Z') || c == '_' || (c >= 'a' && c <= 'z') || c > '\x7F' [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/pragma.rs:306:12 [INFO] [stdout] | [INFO] [stdout] 306 | || (c >= '0' && c <= '9') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('0'..='9').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/pragma.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 307 | || (c >= 'A' && c <= 'Z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/pragma.rs:309:12 [INFO] [stdout] | [INFO] [stdout] 309 | || (c >= 'a' && c <= 'z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/row.rs:151:63 [INFO] [stdout] | [INFO] [stdout] 151 | .map(|row_result| row_result.and_then(|row| (map)(&row))) [INFO] [stdout] | ^^^^ help: change this to: `row` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/row.rs:176:80 [INFO] [stdout] | [INFO] [stdout] 176 | .map(|row_result| row_result.map_err(E::from).and_then(|row| (map)(&row))) [INFO] [stdout] | ^^^^ help: change this to: `row` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/row.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | Some(ref stmt) => match stmt.step() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 205 - Some(ref stmt) => match stmt.step() { [INFO] [stdout] 205 + Some(stmt) => match stmt.step() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/row.rs:283:49 [INFO] [stdout] | [INFO] [stdout] 283 | Error::FromSqlConversionFailure(idx as usize, value.data_type(), err) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `idx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/row.rs:389:27 [INFO] [stdout] | [INFO] [stdout] 389 | stmt.column_index(*self) [INFO] [stdout] | ^^^^^ help: try: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/statement.rs:454:48 [INFO] [stdout] | [INFO] [stdout] 454 | rows.get_expected_row().and_then(|r| f(&r)) [INFO] [stdout] | ^^ help: change this to: `r` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*const u8` -> `*const u8`) [INFO] [stdout] --> src/statement.rs:871:36 [INFO] [stdout] | [INFO] [stdout] 871 | from_raw_parts(text as *const u8, len as usize) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `text` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/lib.rs:271:16 [INFO] [stdout] | [INFO] [stdout] 271 | if len >= (c_int::max_value() as usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 271 - if len >= (c_int::max_value() as usize) { [INFO] [stdout] 271 + if len >= (c_int::MAX as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:674:65 [INFO] [stdout] | [INFO] [stdout] 674 | rows.get_expected_row().map_err(E::from).and_then(|r| f(&r)) [INFO] [stdout] | ^^ help: change this to: `r` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/lib.rs:710:27 [INFO] [stdout] | [INFO] [stdout] 710 | pub fn close(self) -> Result<(), (Connection, Error)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `Err`-variant is at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `(Connection, error::Error)`, for example by boxing large elements or replacing it with `Box<(Connection, error::Error)>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] = note: `#[warn(clippy::result_large_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/inner_connection.rs:454:28 [INFO] [stdout] | [INFO] [stdout] 454 | panic!(msg); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 454 | panic!("{}", msg); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/inner_connection.rs:457:28 [INFO] [stdout] | [INFO] [stdout] 457 | panic!(msg); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 457 | panic!("{}", msg); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tempfile v3.27.0 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stdout] warning: `crate` references the macro call's crate [INFO] [stdout] --> src/error.rs:364:18 [INFO] [stdout] | [INFO] [stdout] 364 | if rc != crate::ffi::SQLITE_OK { [INFO] [stdout] | ^^^^^ help: to reference the macro definition's crate, use: `$crate` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#crate_in_macro_def [INFO] [stdout] = note: `#[warn(clippy::crate_in_macro_def)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/error.rs:182:31 [INFO] [stdout] | [INFO] [stdout] 182 | const UNKNOWN_COLUMN: usize = std::usize::MAX; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] = note: `#[warn(clippy::legacy_numeric_constants)]` on by default [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 182 - const UNKNOWN_COLUMN: usize = std::usize::MAX; [INFO] [stdout] 182 + const UNKNOWN_COLUMN: usize = usize::MAX; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this is an outer doc comment and does not apply to the parent module or crate [INFO] [stdout] --> src/busy.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | ///! Busy handler (when the database is locked) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_doc_comments [INFO] [stdout] = note: `#[warn(clippy::suspicious_doc_comments)]` on by default [INFO] [stdout] help: use an inner doc comment to document the parent module or crate [INFO] [stdout] | [INFO] [stdout] 1 - ///! Busy handler (when the database is locked) [INFO] [stdout] 1 + //! Busy handler (when the database is locked) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> src/busy.rs:171:9 [INFO] [stdout] | [INFO] [stdout] 171 | assert_eq!(CALLED.load(Ordering::Relaxed), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 171 - assert_eq!(CALLED.load(Ordering::Relaxed), true); [INFO] [stdout] 171 + assert!(CALLED.load(Ordering::Relaxed)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/column.rs:30:43 [INFO] [stdout] | [INFO] [stdout] 30 | let mut cols = Vec::with_capacity(n as usize); [INFO] [stdout] | ^^^^^^^^^^ help: try: `n` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of an `Arc` that is not `Send` and `Sync` [INFO] [stdout] --> src/inner_connection.rs:44:29 [INFO] [stdout] | [INFO] [stdout] 44 | interrupt_lock: Arc::new(Mutex::new(db)), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Arc>` is not `Send` and `Sync` as `Mutex<*mut sqlite3>` is neither `Send` nor `Sync` [INFO] [stdout] = help: if the `Arc` will not be used across threads replace it with an `Rc` [INFO] [stdout] = help: otherwise make `Mutex<*mut sqlite3>` `Send` and `Sync` or consider a wrapper type such as `Mutex` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#arc_with_non_send_sync [INFO] [stdout] = note: `#[warn(clippy::arc_with_non_send_sync)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/params.rs:48:5 [INFO] [stdout] | [INFO] [stdout] 48 | /// reasons, so it really is only for the "reference to array" types — [INFO] [stdout] | ^^^^^^^^ help: try using ` ` (6 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] = note: `#[warn(clippy::doc_overindented_list_items)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/params.rs:49:5 [INFO] [stdout] | [INFO] [stdout] 49 | /// hence why the number of parameters must be <= 32 or you need to [INFO] [stdout] | ^^^^^^^^ help: try using ` ` (6 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/params.rs:50:5 [INFO] [stdout] | [INFO] [stdout] 50 | /// reach for `rusqlite::params!`) [INFO] [stdout] | ^^^^^^^^ help: try using ` ` (6 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/params.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | /// references to arrays of non-references (e.g. `&[1i32, 2, 3]`). Code like [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: doc list item overindented [INFO] [stdout] --> src/params.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | /// this should instead either use `params!`, an array literal, a `&[&dyn [INFO] [stdout] | ^^^^ help: try using ` ` (2 spaces) [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#doc_overindented_list_items [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pragma.rs:201:15 [INFO] [stdout] | [INFO] [stdout] 201 | f(&row)?; [INFO] [stdout] | ^^^^ help: change this to: `row` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/pragma.rs:237:15 [INFO] [stdout] | [INFO] [stdout] 237 | f(&row)?; [INFO] [stdout] | ^^^^ help: change this to: `row` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/pragma.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 301 | (c >= 'A' && c <= 'Z') || c == '_' || (c >= 'a' && c <= 'z') || c > '\x7F' [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] = note: `#[warn(clippy::manual_range_contains)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/pragma.rs:301:43 [INFO] [stdout] | [INFO] [stdout] 301 | (c >= 'A' && c <= 'Z') || c == '_' || (c >= 'a' && c <= 'z') || c > '\x7F' [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/pragma.rs:306:12 [INFO] [stdout] | [INFO] [stdout] 306 | || (c >= '0' && c <= '9') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('0'..='9').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/pragma.rs:307:12 [INFO] [stdout] | [INFO] [stdout] 307 | || (c >= 'A' && c <= 'Z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('A'..='Z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual `RangeInclusive::contains` implementation [INFO] [stdout] --> src/pragma.rs:309:12 [INFO] [stdout] | [INFO] [stdout] 309 | || (c >= 'a' && c <= 'z') [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: use: `('a'..='z').contains(&c)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_range_contains [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/row.rs:151:63 [INFO] [stdout] | [INFO] [stdout] 151 | .map(|row_result| row_result.and_then(|row| (map)(&row))) [INFO] [stdout] | ^^^^ help: change this to: `row` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/row.rs:176:80 [INFO] [stdout] | [INFO] [stdout] 176 | .map(|row_result| row_result.map_err(E::from).and_then(|row| (map)(&row))) [INFO] [stdout] | ^^^^ help: change this to: `row` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this pattern creates a reference to a reference [INFO] [stdout] --> src/row.rs:205:18 [INFO] [stdout] | [INFO] [stdout] 205 | Some(ref stmt) => match stmt.step() { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 205 - Some(ref stmt) => match stmt.step() { [INFO] [stdout] 205 + Some(stmt) => match stmt.step() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`usize` -> `usize`) [INFO] [stdout] --> src/row.rs:283:49 [INFO] [stdout] | [INFO] [stdout] 283 | Error::FromSqlConversionFailure(idx as usize, value.data_type(), err) [INFO] [stdout] | ^^^^^^^^^^^^ help: try: `idx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: deref which would be done by auto-deref [INFO] [stdout] --> src/row.rs:389:27 [INFO] [stdout] | [INFO] [stdout] 389 | stmt.column_index(*self) [INFO] [stdout] | ^^^^^ help: try: `self` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_auto_deref [INFO] [stdout] = note: `#[warn(clippy::explicit_auto_deref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/statement.rs:454:48 [INFO] [stdout] | [INFO] [stdout] 454 | rows.get_expected_row().and_then(|r| f(&r)) [INFO] [stdout] | ^^ help: change this to: `r` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting raw pointers to the same type and constness is unnecessary (`*const u8` -> `*const u8`) [INFO] [stdout] --> src/statement.rs:871:36 [INFO] [stdout] | [INFO] [stdout] 871 | from_raw_parts(text as *const u8, len as usize) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: try: `text` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/statement.rs:1213:32 [INFO] [stdout] | [INFO] [stdout] 1213 | assert_eq!(stmt.insert(&[&1i32])?, 1); [INFO] [stdout] | ^^^^^^^^ help: change this to: `[&1i32]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] = note: `#[warn(clippy::needless_borrows_for_generic_args)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/statement.rs:1214:32 [INFO] [stdout] | [INFO] [stdout] 1214 | assert_eq!(stmt.insert(&[&2i32])?, 2); [INFO] [stdout] | ^^^^^^^^ help: change this to: `[&2i32]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/statement.rs:1215:27 [INFO] [stdout] | [INFO] [stdout] 1215 | match stmt.insert(&[&1i32]).unwrap_err() { [INFO] [stdout] | ^^^^^^^^ help: change this to: `[&1i32]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/statement.rs:1254:29 [INFO] [stdout] | [INFO] [stdout] 1254 | assert!(stmt.exists(&[&2i32])?); [INFO] [stdout] | ^^^^^^^^ help: change this to: `[&2i32]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/statement.rs:1318:13 [INFO] [stdout] | [INFO] [stdout] 1318 | &[&1u8 as &dyn ToSql, &"one", &Some("one")], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `[&1u8 as &dyn ToSql, &"one", &Some("one")]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/statement.rs:1397:53 [INFO] [stdout] | [INFO] [stdout] 1397 | db.execute("INSERT INTO foo(x) VALUES (?)", &[&expected])?; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `[&expected]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/types/from_sql.rs:240:44 [INFO] [stdout] | [INFO] [stdout] 240 | .query_row("SELECT ?", &[n], |r| r.get::<_, T>(0)) [INFO] [stdout] | ^^^^ help: change this to: `[n]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/types/from_sql.rs:250:46 [INFO] [stdout] | [INFO] [stdout] 250 | db.query_row("SELECT ?", &[n], |r| r.get::<_, T>(0)) [INFO] [stdout] | ^^^^ help: change this to: `[n]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: importing a legacy numeric constant [INFO] [stdout] --> src/types/mod.rs:135:9 [INFO] [stdout] | [INFO] [stdout] 135 | use std::f64::EPSILON; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: remove this import and use the associated constant `f64::EPSILON` from the primitive type instead [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/types/mod.rs:149:53 [INFO] [stdout] | [INFO] [stdout] 149 | db.execute("INSERT INTO foo(b) VALUES (?)", &[&v1234])?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `[&v1234]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/types/mod.rs:161:53 [INFO] [stdout] | [INFO] [stdout] 161 | db.execute("INSERT INTO foo(b) VALUES (?)", &[&empty])?; [INFO] [stdout] | ^^^^^^^^^ help: change this to: `[&empty]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/types/mod.rs:173:53 [INFO] [stdout] | [INFO] [stdout] 173 | db.execute("INSERT INTO foo(t) VALUES (?)", &[&s])?; [INFO] [stdout] | ^^^^^ help: change this to: `[&s]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/types/mod.rs:212:53 [INFO] [stdout] | [INFO] [stdout] 212 | db.execute("INSERT INTO foo(t) VALUES (?)", &[&s])?; [INFO] [stdout] | ^^^^^ help: change this to: `[&s]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/types/mod.rs:213:53 [INFO] [stdout] | [INFO] [stdout] 213 | db.execute("INSERT INTO foo(b) VALUES (?)", &[&b])?; [INFO] [stdout] | ^^^^^ help: change this to: `[&b]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `unwrap()` on `Some` value [INFO] [stdout] --> src/types/mod.rs:222:24 [INFO] [stdout] | [INFO] [stdout] 222 | assert_eq!(s.unwrap(), s1.unwrap()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: remove the `Some` and `unwrap()` [INFO] [stdout] --> src/types/mod.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | let s = Some("hello, world!"); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_literal_unwrap [INFO] [stdout] = note: `#[warn(clippy::unnecessary_literal_unwrap)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/types/mod.rs:259:60 [INFO] [stdout] | [INFO] [stdout] 259 | assert!((1.5 - row.get::<_, c_double>(3)?).abs() < EPSILON); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 259 | assert!((1.5 - row.get::<_, c_double>(3)?).abs() < f64::EPSILON); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric constant [INFO] [stdout] --> src/types/mod.rs:368:61 [INFO] [stdout] | [INFO] [stdout] 368 | Value::Real(val) => assert!((1.5 - val).abs() < EPSILON), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 368 | Value::Real(val) => assert!((1.5 - val).abs() < f64::EPSILON), [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: usage of a legacy numeric method [INFO] [stdout] --> src/lib.rs:271:16 [INFO] [stdout] | [INFO] [stdout] 271 | if len >= (c_int::max_value() as usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#legacy_numeric_constants [INFO] [stdout] help: use the associated constant instead [INFO] [stdout] | [INFO] [stdout] 271 - if len >= (c_int::max_value() as usize) { [INFO] [stdout] 271 + if len >= (c_int::MAX as usize) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:674:65 [INFO] [stdout] | [INFO] [stdout] 674 | rows.get_expected_row().map_err(E::from).and_then(|r| f(&r)) [INFO] [stdout] | ^^ help: change this to: `r` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `Err`-variant returned from this function is very large [INFO] [stdout] --> src/lib.rs:710:27 [INFO] [stdout] | [INFO] [stdout] 710 | pub fn close(self) -> Result<(), (Connection, Error)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `Err`-variant is at least 192 bytes [INFO] [stdout] | [INFO] [stdout] = help: try reducing the size of `(Connection, error::Error)`, for example by boxing large elements or replacing it with `Box<(Connection, error::Error)>` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err [INFO] [stdout] = note: `#[warn(clippy::result_large_err)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type parameter `T` goes unused in function definition [INFO] [stdout] --> src/lib.rs:1062:19 [INFO] [stdout] | [INFO] [stdout] 1062 | fn ensure_send() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_type_parameters [INFO] [stdout] = note: `#[warn(clippy::extra_unused_type_parameters)]` on by default [INFO] [stdout] help: consider removing the parameter [INFO] [stdout] | [INFO] [stdout] 1062 - fn ensure_send() { [INFO] [stdout] 1062 + fn ensure_send() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type parameter `T` goes unused in function definition [INFO] [stdout] --> src/lib.rs:1068:19 [INFO] [stdout] | [INFO] [stdout] 1068 | fn ensure_sync() { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#extra_unused_type_parameters [INFO] [stdout] help: consider removing the parameter [INFO] [stdout] | [INFO] [stdout] 1068 - fn ensure_sync() { [INFO] [stdout] 1068 + fn ensure_sync() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/lib.rs:1102:55 [INFO] [stdout] | [INFO] [stdout] 1102 | tx1.execute("INSERT INTO foo VALUES(?1)", &[&1])?; [INFO] [stdout] | ^^^^^ help: change this to: `[&1]` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the borrowed expression implements the required traits [INFO] [stdout] --> src/lib.rs:1133:35 [INFO] [stdout] | [INFO] [stdout] 1133 | let db = Connection::open(&path_string)?; [INFO] [stdout] | ^^^^^^^^^^^^ help: change this to: `path_string` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrows_for_generic_args [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:1152:17 [INFO] [stdout] | [INFO] [stdout] 1152 | assert!(!result.is_ok()); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: try: `result.is_err()` [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: panic message is not a string literal [INFO] [stdout] --> src/inner_connection.rs:454:28 [INFO] [stdout] | [INFO] [stdout] 454 | panic!(msg); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 454 | panic!("{}", msg); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> src/inner_connection.rs:457:28 [INFO] [stdout] | [INFO] [stdout] 457 | panic!(msg); [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: for more information, see [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 457 | panic!("{}", msg); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.65s [INFO] running `Command { std: "docker" "inspect" "676094b3b45514dde110d39b94899cfe6b1c4debba135b6ec5399dd90e5d0754", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "676094b3b45514dde110d39b94899cfe6b1c4debba135b6ec5399dd90e5d0754", kill_on_drop: false }` [INFO] [stdout] 676094b3b45514dde110d39b94899cfe6b1c4debba135b6ec5399dd90e5d0754