From cd6ce6e2c34c6ca6cfa393b952715e10ff430960 Mon Sep 17 00:00:00 2001 From: gwenn Date: Sat, 8 Oct 2022 18:45:51 +0200 Subject: [PATCH 1/3] Fix clippy warnings --- src/busy.rs | 6 +----- src/column.rs | 6 +++--- src/hooks.rs | 12 ++---------- src/limits.rs | 30 ++++++++++++------------------ src/vtab/series.rs | 1 + src/vtab/vtablog.rs | 2 +- 6 files changed, 20 insertions(+), 37 deletions(-) diff --git a/src/busy.rs b/src/busy.rs index 7297f20..b9a5d40 100644 --- a/src/busy.rs +++ b/src/busy.rs @@ -58,11 +58,7 @@ impl Connection { pub fn busy_handler(&self, callback: Option bool>) -> Result<()> { unsafe extern "C" fn busy_handler_callback(p_arg: *mut c_void, count: c_int) -> c_int { let handler_fn: fn(i32) -> bool = mem::transmute(p_arg); - if let Ok(true) = catch_unwind(|| handler_fn(count)) { - 1 - } else { - 0 - } + c_int::from(catch_unwind(|| handler_fn(count)).unwrap_or_default()) } let c = self.db.borrow_mut(); let r = match callback { diff --git a/src/column.rs b/src/column.rs index aa1f5f7..c2167fc 100644 --- a/src/column.rs +++ b/src/column.rs @@ -33,7 +33,7 @@ impl Statement<'_> { /// calling this method. pub fn column_names(&self) -> Vec<&str> { let n = self.column_count(); - let mut cols = Vec::with_capacity(n as usize); + let mut cols = Vec::with_capacity(n); for i in 0..n { let s = self.column_name_unwrap(i); cols.push(s); @@ -95,7 +95,7 @@ impl Statement<'_> { pub fn column_name(&self, col: usize) -> Result<&str> { self.stmt .column_name(col) - .ok_or(Error::InvalidColumnIndex(col)) + .ok_or_else(|| Error::InvalidColumnIndex(col)) .map(|slice| { str::from_utf8(slice.to_bytes()).expect("Invalid UTF-8 sequence in column name") }) @@ -137,7 +137,7 @@ impl Statement<'_> { #[cfg_attr(docsrs, doc(cfg(feature = "column_decltype")))] pub fn columns(&self) -> Vec { let n = self.column_count(); - let mut cols = Vec::with_capacity(n as usize); + let mut cols = Vec::with_capacity(n); for i in 0..n { let name = self.column_name_unwrap(i); let slice = self.stmt.column_decltype(i); diff --git a/src/hooks.rs b/src/hooks.rs index 86669dc..7a87bc3 100644 --- a/src/hooks.rs +++ b/src/hooks.rs @@ -426,11 +426,7 @@ impl InnerConnection { let boxed_hook: *mut F = p_arg.cast::(); (*boxed_hook)() }); - if let Ok(true) = r { - 1 - } else { - 0 - } + c_int::from(r.unwrap_or_default()) } // unlike `sqlite3_create_function_v2`, we cannot specify a `xDestroy` with @@ -568,11 +564,7 @@ impl InnerConnection { let boxed_handler: *mut F = p_arg.cast::(); (*boxed_handler)() }); - if let Ok(true) = r { - 1 - } else { - 0 - } + c_int::from(r.unwrap_or_default()) } if let Some(handler) = handler { diff --git a/src/limits.rs b/src/limits.rs index 0603584..d0694e3 100644 --- a/src/limits.rs +++ b/src/limits.rs @@ -71,55 +71,49 @@ mod test { #[test] fn test_limit_values() { - assert_eq!( - Limit::SQLITE_LIMIT_LENGTH as i32, - ffi::SQLITE_LIMIT_LENGTH as i32, - ); + assert_eq!(Limit::SQLITE_LIMIT_LENGTH as i32, ffi::SQLITE_LIMIT_LENGTH,); assert_eq!( Limit::SQLITE_LIMIT_SQL_LENGTH as i32, - ffi::SQLITE_LIMIT_SQL_LENGTH as i32, - ); - assert_eq!( - Limit::SQLITE_LIMIT_COLUMN as i32, - ffi::SQLITE_LIMIT_COLUMN as i32, + ffi::SQLITE_LIMIT_SQL_LENGTH, ); + assert_eq!(Limit::SQLITE_LIMIT_COLUMN as i32, ffi::SQLITE_LIMIT_COLUMN,); assert_eq!( Limit::SQLITE_LIMIT_EXPR_DEPTH as i32, - ffi::SQLITE_LIMIT_EXPR_DEPTH as i32, + ffi::SQLITE_LIMIT_EXPR_DEPTH, ); assert_eq!( Limit::SQLITE_LIMIT_COMPOUND_SELECT as i32, - ffi::SQLITE_LIMIT_COMPOUND_SELECT as i32, + ffi::SQLITE_LIMIT_COMPOUND_SELECT, ); assert_eq!( Limit::SQLITE_LIMIT_VDBE_OP as i32, - ffi::SQLITE_LIMIT_VDBE_OP as i32, + ffi::SQLITE_LIMIT_VDBE_OP, ); assert_eq!( Limit::SQLITE_LIMIT_FUNCTION_ARG as i32, - ffi::SQLITE_LIMIT_FUNCTION_ARG as i32, + ffi::SQLITE_LIMIT_FUNCTION_ARG, ); assert_eq!( Limit::SQLITE_LIMIT_ATTACHED as i32, - ffi::SQLITE_LIMIT_ATTACHED as i32, + ffi::SQLITE_LIMIT_ATTACHED, ); assert_eq!( Limit::SQLITE_LIMIT_LIKE_PATTERN_LENGTH as i32, - ffi::SQLITE_LIMIT_LIKE_PATTERN_LENGTH as i32, + ffi::SQLITE_LIMIT_LIKE_PATTERN_LENGTH, ); assert_eq!( Limit::SQLITE_LIMIT_VARIABLE_NUMBER as i32, - ffi::SQLITE_LIMIT_VARIABLE_NUMBER as i32, + ffi::SQLITE_LIMIT_VARIABLE_NUMBER, ); #[cfg(feature = "bundled")] assert_eq!( Limit::SQLITE_LIMIT_TRIGGER_DEPTH as i32, - ffi::SQLITE_LIMIT_TRIGGER_DEPTH as i32, + ffi::SQLITE_LIMIT_TRIGGER_DEPTH, ); #[cfg(feature = "bundled")] assert_eq!( Limit::SQLITE_LIMIT_WORKER_THREADS as i32, - ffi::SQLITE_LIMIT_WORKER_THREADS as i32, + ffi::SQLITE_LIMIT_WORKER_THREADS, ); } diff --git a/src/vtab/series.rs b/src/vtab/series.rs index fffbd4d..bb2a86f 100644 --- a/src/vtab/series.rs +++ b/src/vtab/series.rs @@ -115,6 +115,7 @@ unsafe impl<'vtab> VTab<'vtab> for SeriesTab { } if idx_num.contains(QueryPlanFlags::BOTH) { // Both start= and stop= boundaries are available. + #[allow(clippy::bool_to_int_with_if)] info.set_estimated_cost(f64::from( 2 - if idx_num.contains(QueryPlanFlags::STEP) { 1 diff --git a/src/vtab/vtablog.rs b/src/vtab/vtablog.rs index bc2e01f..3eb8f78 100644 --- a/src/vtab/vtablog.rs +++ b/src/vtab/vtablog.rs @@ -163,7 +163,7 @@ impl<'vtab> UpdateVTab<'vtab> for VTabLog { self.i_inst, args.iter().collect::>>() ); - Ok(self.n_row as i64) + Ok(self.n_row) } fn update(&mut self, args: &Values<'_>) -> Result<()> { From ba73b8177608105f4dc592a008f6ec337f95c8ed Mon Sep 17 00:00:00 2001 From: gwenn Date: Sat, 8 Oct 2022 18:57:12 +0200 Subject: [PATCH 2/3] Fix CI build error stable clippy vs nightly clippy --- src/column.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/column.rs b/src/column.rs index c2167fc..4413a62 100644 --- a/src/column.rs +++ b/src/column.rs @@ -95,7 +95,8 @@ impl Statement<'_> { pub fn column_name(&self, col: usize) -> Result<&str> { self.stmt .column_name(col) - .ok_or_else(|| Error::InvalidColumnIndex(col)) + // clippy::or_fun_call (nightly) vs clippy::unnecessary-lazy-evaluations (stable) + .ok_or(Error::InvalidColumnIndex(col)) .map(|slice| { str::from_utf8(slice.to_bytes()).expect("Invalid UTF-8 sequence in column name") }) From 456523f31240f4008ca9a628e42f7c6ab8a34f81 Mon Sep 17 00:00:00 2001 From: gwenn Date: Sat, 8 Oct 2022 19:28:38 +0200 Subject: [PATCH 3/3] Fix error: unknown lint: `clippy::bool_to_int_with_if` --- src/vtab/series.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vtab/series.rs b/src/vtab/series.rs index bb2a86f..a38692b 100644 --- a/src/vtab/series.rs +++ b/src/vtab/series.rs @@ -115,7 +115,7 @@ unsafe impl<'vtab> VTab<'vtab> for SeriesTab { } if idx_num.contains(QueryPlanFlags::BOTH) { // Both start= and stop= boundaries are available. - #[allow(clippy::bool_to_int_with_if)] + //#[allow(clippy::bool_to_int_with_if)] info.set_estimated_cost(f64::from( 2 - if idx_num.contains(QueryPlanFlags::STEP) { 1