From ea367bac14a7accc267c902337dc89b2e20b69b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Sat, 7 Sep 2019 13:08:09 +0300 Subject: [PATCH] Fix or ignore various clippy warnings And ignore some common warnings we don't care about in general, while also making clippy errors fail the build. --- .gitlab-ci.yml | 7 +++-- examples/src/bin/glupload.rs | 1 + gstreamer-rtsp-server/src/lib.rs | 1 + gstreamer-video/src/video_format_info.rs | 2 ++ gstreamer/src/date_time_serde.rs | 2 +- gstreamer/src/event.rs | 38 ++++++++++++++---------- gstreamer/src/functions.rs | 7 ++++- 7 files changed, 38 insertions(+), 20 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index db4cf26da..02da7f2bf 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -124,7 +124,6 @@ clippy: extends: '.tarball_setup' image: "rust:slim" stage: 'extras' - allow_failure: true script: - rustup component add clippy-preview - cargo clippy --version @@ -141,5 +140,9 @@ clippy: FEATURES=v1_16 fi - cargo clippy --color=always --manifest-path $crate/Cargo.toml --features=$FEATURES + cargo clippy --color=always --manifest-path $crate/Cargo.toml --features=$FEATURES -- -A clippy::redundant_pattern_matching -A clippy::single_match -A clippy::cast_lossless done + # And also run over all the examples/tutorials + - | + cargo clippy --color=always --manifest-path examples/Cargo.toml --bins --examples --all-features -- -A clippy::redundant_pattern_matching -A clippy::single_match -A clippy::cast_lossless + cargo clippy --color=always --manifest-path tutorials/Cargo.toml --bins --examples --all-features -- -A clippy::redundant_pattern_matching -A clippy::single_match -A clippy::cast_lossless diff --git a/examples/src/bin/glupload.rs b/examples/src/bin/glupload.rs index 739db6850..a1ffac870 100644 --- a/examples/src/bin/glupload.rs +++ b/examples/src/bin/glupload.rs @@ -408,6 +408,7 @@ impl App { gst_gl::GLPlatform::GLX, ) } + #[allow(unreachable_patterns)] handler => panic!("Unsupported platform: {:?}.", handler), }; diff --git a/gstreamer-rtsp-server/src/lib.rs b/gstreamer-rtsp-server/src/lib.rs index a8ac55687..7570cd19d 100644 --- a/gstreamer-rtsp-server/src/lib.rs +++ b/gstreamer-rtsp-server/src/lib.rs @@ -46,6 +46,7 @@ pub use glib::{Cast, Continue, Error, IsA, StaticType, ToValue, Type, TypedValue #[allow(clippy::too_many_arguments)] #[allow(clippy::match_same_arms)] #[allow(clippy::type_complexity)] +#[allow(clippy::let_and_return)] mod auto; pub use auto::*; diff --git a/gstreamer-video/src/video_format_info.rs b/gstreamer-video/src/video_format_info.rs index 0341154de..39d1ace34 100644 --- a/gstreamer-video/src/video_format_info.rs +++ b/gstreamer-video/src/video_format_info.rs @@ -145,6 +145,7 @@ impl VideoFormatInfo { (-((-(i64::from(height))) >> self.h_sub()[component as usize])) as u32 } + #[allow(clippy::too_many_arguments)] pub fn unpack( &self, flags: ::VideoPackFlags, @@ -220,6 +221,7 @@ impl VideoFormatInfo { } } + #[allow(clippy::too_many_arguments)] pub fn pack( &self, flags: ::VideoPackFlags, diff --git a/gstreamer/src/date_time_serde.rs b/gstreamer/src/date_time_serde.rs index 77f0c3057..aa2ac5a33 100644 --- a/gstreamer/src/date_time_serde.rs +++ b/gstreamer/src/date_time_serde.rs @@ -130,7 +130,7 @@ impl TryFrom for Date { impl<'de> Deserialize<'de> for Date { fn deserialize>(deserializer: D) -> Result { DateTimeVariants::deserialize(deserializer) - .and_then(|dt_variant| dt_variant.try_into().map_err(|err| D::Error::custom(err))) + .and_then(|dt_variant| dt_variant.try_into().map_err(D::Error::custom)) } } diff --git a/gstreamer/src/event.rs b/gstreamer/src/event.rs index 81f083a84..2ee4aeceb 100644 --- a/gstreamer/src/event.rs +++ b/gstreamer/src/event.rs @@ -1410,24 +1410,30 @@ impl<'a> SeekBuilder<'a> { } event_builder_generic_impl!(|s: &Self| { - let ev = gst_sys::gst_event_new_seek( - s.rate, - s.start.get_format().to_glib(), - s.flags.to_glib(), - s.start_type.to_glib(), - s.start.get_value(), - s.stop_type.to_glib(), - s.stop.get_value(), - ); - - #[cfg(any(feature = "v1_16", feature = "dox"))] + #[allow(clippy::let_and_return)] { - if let Some(trickmode_interval) = s.trickmode_interval { - gst_sys::gst_event_set_seek_trickmode_interval(ev, trickmode_interval.to_glib()); - } - } + let ev = gst_sys::gst_event_new_seek( + s.rate, + s.start.get_format().to_glib(), + s.flags.to_glib(), + s.start_type.to_glib(), + s.start.get_value(), + s.stop_type.to_glib(), + s.stop.get_value(), + ); - ev + #[cfg(any(feature = "v1_16", feature = "dox"))] + { + if let Some(trickmode_interval) = s.trickmode_interval { + gst_sys::gst_event_set_seek_trickmode_interval( + ev, + trickmode_interval.to_glib(), + ); + } + } + + ev + } }); } diff --git a/gstreamer/src/functions.rs b/gstreamer/src/functions.rs index d284fbee2..dc88fac4b 100644 --- a/gstreamer/src/functions.rs +++ b/gstreamer/src/functions.rs @@ -115,7 +115,12 @@ pub fn calculate_linear_regression( unsafe { assert_eq!(mem::size_of::() * 2, mem::size_of::<(u64, u64)>()); assert_eq!(mem::align_of::(), mem::align_of::<(u64, u64)>()); - assert!(temp.as_ref().map(|temp| temp.len()).unwrap_or(xy.len()) >= xy.len()); + assert!( + temp.as_ref() + .map(|temp| temp.len()) + .unwrap_or_else(|| xy.len()) + >= xy.len() + ); let mut m_num = mem::MaybeUninit::uninit(); let mut m_denom = mem::MaybeUninit::uninit();