[fractal/fractal-next] ci: Make clippy happy



commit 932ae562e0f9274d8a31e2580fa6a4dbb57f6fa3
Author: Marcus Behrendt <marcus behrendt 86 gmail com>
Date:   Fri Jan 14 23:32:00 2022 +0100

    ci: Make clippy happy

 src/components/video_player.rs                       |  5 +++--
 src/contrib/qr_code_scanner/camera_paintable.rs      | 20 +++++++++-----------
 src/contrib/qr_code_scanner/mod.rs                   |  4 ++--
 src/contrib/qr_code_scanner/qr_code_detector.rs      |  1 +
 src/secret.rs                                        |  2 +-
 src/session/content/explore/public_room_list.rs      |  8 +++-----
 .../room_details/invite_subpage/invitee_list.rs      |  7 +++----
 .../content/room_details/invite_subpage/mod.rs       |  2 +-
 .../content/room_history/message_row/media.rs        |  3 ++-
 src/session/content/room_history/message_row/text.rs | 17 +++++++++--------
 src/session/content/room_history/mod.rs              | 16 +++++++++-------
 src/session/media_viewer.rs                          |  5 +++--
 src/session/mod.rs                                   | 13 ++++++-------
 src/session/room/event.rs                            |  8 ++++----
 src/session/room/event_actions.rs                    |  1 +
 src/session/room/member_list.rs                      |  2 +-
 src/session/room/mod.rs                              |  2 +-
 src/session/room/timeline.rs                         |  4 ++--
 src/session/verification/identity_verification.rs    | 19 ++++++++++---------
 src/utils.rs                                         |  4 ++--
 20 files changed, 73 insertions(+), 70 deletions(-)
---
diff --git a/src/components/video_player.rs b/src/components/video_player.rs
index 4b57e293..5f6e38d3 100644
--- a/src/components/video_player.rs
+++ b/src/components/video_player.rs
@@ -83,6 +83,7 @@ glib::wrapper! {
 
 impl VideoPlayer {
     /// Create a new video player.
+    #[allow(clippy::new_without_default)]
     pub fn new() -> Self {
         glib::Object::new(&[]).expect("Failed to create VideoPlayer")
     }
@@ -128,9 +129,9 @@ fn duration(media_file: &gtk::MediaFile) -> String {
     let mut time = media_file.duration() / 1000000;
 
     let sec = time % 60;
-    time = time - sec;
+    time -= sec;
     let min = (time % (60 * 60)) / 60;
-    time = time - (min * 60);
+    time -= min * 60;
     let hour = time / (60 * 60);
 
     if hour > 0 {
diff --git a/src/contrib/qr_code_scanner/camera_paintable.rs b/src/contrib/qr_code_scanner/camera_paintable.rs
index 4279c68e..8397187f 100644
--- a/src/contrib/qr_code_scanner/camera_paintable.rs
+++ b/src/contrib/qr_code_scanner/camera_paintable.rs
@@ -71,7 +71,7 @@ mod camera_sink {
     impl Frame {
         pub fn new(buffer: &gst::Buffer, info: &gst_video::VideoInfo) -> Self {
             let video_frame =
-                gst_video::VideoFrame::from_buffer_readable(buffer.clone(), &info).unwrap();
+                gst_video::VideoFrame::from_buffer_readable(buffer.clone(), info).unwrap();
             Self(video_frame)
         }
 
@@ -186,6 +186,7 @@ mod camera_sink {
     glib::wrapper! {
         pub struct CameraSink(ObjectSubclass<imp::CameraSink>) @extends gst_video::VideoSink, 
gst_base::BaseSink, gst::Element, gst::Object;
     }
+    #[allow(clippy::non_send_fields_in_send_ty)]
     unsafe impl Send for CameraSink {}
     unsafe impl Sync for CameraSink {}
 
@@ -391,16 +392,13 @@ impl CameraPaintable {
         let bus = pipeline.bus().unwrap();
         bus.add_watch_local(
             clone!(@weak self as paintable => @default-return glib::Continue(false), move |_, msg| {
-                match msg.view() {
-                    gst::MessageView::Error(err) => {
-                        log::error!(
-                            "Error from {:?}: {} ({:?})",
-                            err.src().map(|s| s.path_string()),
-                            err.error(),
-                            err.debug()
-                        );
-                    },
-                    _ => (),
+                if let gst::MessageView::Error(err) = msg.view() {
+                    log::error!(
+                        "Error from {:?}: {} ({:?})",
+                        err.src().map(|s| s.path_string()),
+                        err.error(),
+                        err.debug()
+                    );
                 }
                 glib::Continue(true)
             }),
diff --git a/src/contrib/qr_code_scanner/mod.rs b/src/contrib/qr_code_scanner/mod.rs
index 3e484b5a..73156237 100644
--- a/src/contrib/qr_code_scanner/mod.rs
+++ b/src/contrib/qr_code_scanner/mod.rs
@@ -122,7 +122,7 @@ impl QrCodeScanner {
 
         Ok(priv_
             .connection
-            .get_or_try_init(|| zbus::Connection::session())
+            .get_or_try_init(zbus::Connection::session)
             .await?)
     }
 
@@ -143,7 +143,7 @@ impl QrCodeScanner {
         }
 
         self.set_has_camera(false);
-        return false;
+        false
     }
 
     async fn has_camera_internal(&self) -> Result<bool, ashpd::Error> {
diff --git a/src/contrib/qr_code_scanner/qr_code_detector.rs b/src/contrib/qr_code_scanner/qr_code_detector.rs
index edbb6470..a7ae8e14 100644
--- a/src/contrib/qr_code_scanner/qr_code_detector.rs
+++ b/src/contrib/qr_code_scanner/qr_code_detector.rs
@@ -127,6 +127,7 @@ mod imp {
 glib::wrapper! {
     pub struct QrCodeDetector(ObjectSubclass<imp::QrCodeDetector>) @extends gst_video::VideoSink, 
gst_base::BaseSink, gst::Element, gst::Object;
 }
+#[allow(clippy::non_send_fields_in_send_ty)]
 unsafe impl Send for QrCodeDetector {}
 unsafe impl Sync for QrCodeDetector {}
 
diff --git a/src/secret.rs b/src/secret.rs
index a5f9bb38..9e18997c 100644
--- a/src/secret.rs
+++ b/src/secret.rs
@@ -71,7 +71,7 @@ pub fn restore_sessions() -> Result<Vec<StoredSession>, secret_service::Error> {
         .filter_map(|item| {
             let attr = item.get_attributes().ok()?;
 
-            let homeserver = Url::parse(&attr.get("homeserver")?).ok()?;
+            let homeserver = Url::parse(attr.get("homeserver")?).ok()?;
             let user_id = UserId::parse(attr.get("user")?.as_str()).ok()?;
             let device_id = <&DeviceId>::from(attr.get("device-id")?.as_str()).to_owned();
             let path = PathBuf::from(attr.get("db-path")?);
diff --git a/src/session/content/explore/public_room_list.rs b/src/session/content/explore/public_room_list.rs
index b00c7817..8643ec71 100644
--- a/src/session/content/explore/public_room_list.rs
+++ b/src/session/content/explore/public_room_list.rs
@@ -239,12 +239,10 @@ impl PublicRoomList {
                 } else {
                     (position - 1, 0, added)
                 }
+            } else if position == 0 {
+                (position, 0, added)
             } else {
-                if position == 0 {
-                    (position, 0, added)
-                } else {
-                    (position - 1, 1, added)
-                }
+                (position - 1, 1, added)
             }
         };
 
diff --git a/src/session/content/room_details/invite_subpage/invitee_list.rs 
b/src/session/content/room_details/invite_subpage/invitee_list.rs
index ac6f4195..8cb9770e 100644
--- a/src/session/content/room_details/invite_subpage/invitee_list.rs
+++ b/src/session/content/room_details/invite_subpage/invitee_list.rs
@@ -234,7 +234,7 @@ impl InviteeList {
         }
 
         match response {
-            Ok(response) if response.results.len() == 0 => {
+            Ok(response) if response.results.is_empty() => {
                 self.set_state(InviteeListState::NoMatching);
                 self.clear_list();
             }
@@ -316,9 +316,8 @@ impl InviteeList {
         }
 
         spawn!(clone!(@weak self as obj => async move {
-            match future.await {
-                Ok(result) => obj.finish_search(search_term, result.unwrap()),
-                Err(_) => {},
+            if let Ok(result) = future.await {
+                obj.finish_search(search_term, result.unwrap());
             }
         }));
     }
diff --git a/src/session/content/room_details/invite_subpage/mod.rs 
b/src/session/content/room_details/invite_subpage/mod.rs
index a8490b74..45843fda 100644
--- a/src/session/content/room_details/invite_subpage/mod.rs
+++ b/src/session/content/room_details/invite_subpage/mod.rs
@@ -207,7 +207,7 @@ impl InviteSubpage {
         }
 
         if let Some(ref room) = room {
-            let user_list = InviteeList::new(&room);
+            let user_list = InviteeList::new(room);
             user_list.connect_invitee_added(clone!(@weak self as obj => move |_, invitee| {
                 obj.add_user_pill(invitee);
             }));
diff --git a/src/session/content/room_history/message_row/media.rs 
b/src/session/content/room_history/message_row/media.rs
index a167f88c..24597991 100644
--- a/src/session/content/room_history/message_row/media.rs
+++ b/src/session/content/room_history/message_row/media.rs
@@ -220,7 +220,7 @@ mod imp {
             // Limit other side to max size.
             let other = for_size.min(max_other);
 
-            let nat = if original > 0 && original > 0 {
+            let nat = if original > 0 {
                 // We don't want the paintable to be upscaled.
                 let other = other.min(original_other);
                 other * original / original_other
@@ -268,6 +268,7 @@ glib::wrapper! {
 
 impl MessageMedia {
     /// Create a new media message.
+    #[allow(clippy::new_without_default)]
     pub fn new() -> Self {
         glib::Object::new(&[]).expect("Failed to create MessageMedia")
     }
diff --git a/src/session/content/room_history/message_row/text.rs 
b/src/session/content/room_history/message_row/text.rs
index e54a75a7..81e1a0d4 100644
--- a/src/session/content/room_history/message_row/text.rs
+++ b/src/session/content/room_history/message_row/text.rs
@@ -129,12 +129,13 @@ impl MessageText {
     ///
     /// It will detect if it should display the body or the formatted body.
     pub fn markup(&self, formatted: Option<FormattedBody>, body: String) {
-        if let Some((html_blocks, body)) = formatted
-            .filter(|formatted| is_valid_formatted_body(formatted))
-            .and_then(|formatted| {
-                parse_formatted_body(strip_reply(&formatted.body))
-                    .and_then(|blocks| Some((blocks, formatted.body)))
-            })
+        if let Some((html_blocks, body)) =
+            formatted
+                .filter(is_valid_formatted_body)
+                .and_then(|formatted| {
+                    parse_formatted_body(strip_reply(&formatted.body))
+                        .map(|blocks| (blocks, formatted.body))
+                })
         {
             self.build_html(html_blocks);
             self.set_body(Some(body));
@@ -181,11 +182,11 @@ impl MessageText {
     /// It will detect if it should display the body or the formatted body.
     pub fn emote(&self, formatted: Option<FormattedBody>, body: String, sender: Member) {
         if let Some(body) = formatted
-            .filter(|formatted| is_valid_formatted_body(formatted))
+            .filter(is_valid_formatted_body)
             .and_then(|formatted| {
                 let body = format!("<b>{}</b> {}", sender.display_name(), formatted.body);
 
-                parse_formatted_body(&body).and_then(|_| Some(formatted.body))
+                parse_formatted_body(&body).map(|_| formatted.body)
             })
         {
             // TODO: we need to bind the display name to the sender
diff --git a/src/session/content/room_history/mod.rs b/src/session/content/room_history/mod.rs
index 97ed176e..ec89e26a 100644
--- a/src/session/content/room_history/mod.rs
+++ b/src/session/content/room_history/mod.rs
@@ -406,13 +406,15 @@ impl RoomHistory {
                             user.display_name(),
                         )
                     })
-                    .or(pill.room().map(|room| {
-                        (
-                            // No server name needed. matrix.to URIs for mentions aren't routable
-                            room.room_id().matrix_to_url([]).to_string(),
-                            room.display_name(),
-                        )
-                    }))
+                    .or_else(|| {
+                        pill.room().map(|room| {
+                            (
+                                // No server name needed. matrix.to URIs for mentions aren't routable
+                                room.room_id().matrix_to_url([]).to_string(),
+                                room.display_name(),
+                            )
+                        })
+                    })
                     .unwrap();
 
                 // Add more uncopied characters from message
diff --git a/src/session/media_viewer.rs b/src/session/media_viewer.rs
index f63a3561..5fd7e52c 100644
--- a/src/session/media_viewer.rs
+++ b/src/session/media_viewer.rs
@@ -191,6 +191,7 @@ glib::wrapper! {
 }
 
 impl MediaViewer {
+    #[allow(clippy::new_without_default)]
     pub fn new() -> Self {
         glib::Object::new(&[]).expect("Failed to create MediaViewer")
     }
@@ -262,7 +263,7 @@ impl MediaViewer {
             if let Some(AnyMessageEventContent::RoomMessage(content)) = event.message_content() {
                 match content.msgtype {
                     MessageType::Image(image) => {
-                        self.set_body(Some(image.body.clone()));
+                        self.set_body(Some(image.body));
 
                         spawn!(
                             glib::PRIORITY_LOW,
@@ -289,7 +290,7 @@ impl MediaViewer {
                         );
                     }
                     MessageType::Video(video) => {
-                        self.set_body(Some(video.body.clone()));
+                        self.set_body(Some(video.body));
 
                         spawn!(
                             glib::PRIORITY_LOW,
diff --git a/src/session/mod.rs b/src/session/mod.rs
index 32e6ba06..684a82fe 100644
--- a/src/session/mod.rs
+++ b/src/session/mod.rs
@@ -529,7 +529,9 @@ impl Session {
             if !has_cross_signing_keys.await.unwrap() {
                 if need_new_identity.await.unwrap() {
                     let client = obj.client();
-                    if spawn_tokio!(async move { client.bootstrap_cross_signing(None).await }).await.is_ok() 
{
+
+                    let handle = spawn_tokio!(async move { client.bootstrap_cross_signing(None).await });
+                    if handle.await.is_ok() {
                         priv_.stack.set_visible_child(&*priv_.content);
                         return;
                     }
@@ -655,12 +657,9 @@ impl Session {
                     ServerError::Known(ref error),
                 ))) = error
                 {
-                    match error.kind {
-                        ErrorKind::UnknownToken { soft_logout: _ } => {
-                            self.emit_by_name("logged-out", &[]).unwrap();
-                            self.cleanup_session();
-                        }
-                        _ => {}
+                    if let ErrorKind::UnknownToken { soft_logout: _ } = error.kind {
+                        self.emit_by_name("logged-out", &[]).unwrap();
+                        self.cleanup_session();
                     }
                 }
                 error!("Failed to perform sync: {:?}", error);
diff --git a/src/session/room/event.rs b/src/session/room/event.rs
index 105f46df..03547b4f 100644
--- a/src/session/room/event.rs
+++ b/src/session/room/event.rs
@@ -288,7 +288,7 @@ impl Event {
     pub fn source(&self) -> String {
         self.replacement()
             .map(|replacement| replacement.source())
-            .unwrap_or(self.original_source())
+            .unwrap_or_else(|| self.original_source())
     }
 
     pub fn timestamp(&self) -> DateTime {
@@ -555,7 +555,7 @@ impl Event {
             .iter()
             .rev()
             .find(|event| event.is_replacing_event() && !event.redacted())
-            .map(|event| event.clone())
+            .cloned()
     }
 
     /// Whether this matrix event has been redacted.
@@ -608,7 +608,7 @@ impl Event {
     pub fn content(&self) -> Option<AnyMessageEventContent> {
         self.replacement()
             .and_then(|replacement| replacement.content())
-            .or(self.original_content())
+            .or_else(|| self.original_content())
     }
 
     pub fn connect_show_header_notify<F: Fn(&Self, &glib::ParamSpec) + 'static>(
@@ -641,7 +641,7 @@ impl Event {
                         .filter(|name| !name.is_empty())
                         .or(Some(&content.body))
                         .filter(|name| !name.is_empty())
-                        .map(|name| name.clone())
+                        .cloned()
                         .unwrap_or_else(|| {
                             filename_for_mime(
                                 content
diff --git a/src/session/room/event_actions.rs b/src/session/room/event_actions.rs
index 37d9d225..3deccfb9 100644
--- a/src/session/room/event_actions.rs
+++ b/src/session/room/event_actions.rs
@@ -14,6 +14,7 @@ use crate::{
 // This is only save because the trait `EventActions` can
 // only be implemented on `gtk::Widgets` that run only on the main thread
 struct MenuModelSendSync(gio::MenuModel);
+#[allow(clippy::non_send_fields_in_send_ty)]
 unsafe impl Send for MenuModelSendSync {}
 unsafe impl Sync for MenuModelSendSync {}
 
diff --git a/src/session/room/member_list.rs b/src/session/room/member_list.rs
index 756d9f3f..dde8bf3b 100644
--- a/src/session/room/member_list.rs
+++ b/src/session/room/member_list.rs
@@ -110,7 +110,7 @@ impl MemberList {
             members
                 .entry(member.user_id().into())
                 .or_insert_with_key(|user_id| Member::new(&self.room(), user_id))
-                .update_from_room_member(&member);
+                .update_from_room_member(member);
         }
         let num_members_added = members.len().saturating_sub(prev_len);
 
diff --git a/src/session/room/mod.rs b/src/session/room/mod.rs
index a17b3e8d..ad902f83 100644
--- a/src/session/room/mod.rs
+++ b/src/session/room/mod.rs
@@ -716,7 +716,7 @@ impl Room {
 
         let inviter_event = events.iter().find(|event| {
             if let AnyStrippedStateEvent::RoomMember(event) = event {
-                &event.sender == inviter_id
+                event.sender == inviter_id
             } else {
                 false
             }
diff --git a/src/session/room/timeline.rs b/src/session/room/timeline.rs
index 7c757995..0db7e2cf 100644
--- a/src/session/room/timeline.rs
+++ b/src/session/room/timeline.rs
@@ -714,10 +714,10 @@ impl Timeline {
 
                     let user = session.user().unwrap();
 
-                    let user_to_verify = if &*request.to == &*user.user_id() {
+                    let user_to_verify = if *request.to == *user.user_id() {
                         // The request was sent by another user to verify us
                         event.sender()
-                    } else if &*message.sender == &*user.user_id() {
+                    } else if *message.sender == *user.user_id() {
                         // The request was sent by us to verify another user
                         self.room().members().member_by_id(request.to.into())
                     } else {
diff --git a/src/session/verification/identity_verification.rs 
b/src/session/verification/identity_verification.rs
index e188ee91..96f97c49 100644
--- a/src/session/verification/identity_verification.rs
+++ b/src/session/verification/identity_verification.rs
@@ -113,6 +113,7 @@ pub enum MainMessage {
 }
 
 #[derive(Debug)]
+#[allow(clippy::large_enum_variant)]
 pub enum SasData {
     Emoji([Emoji; 7]),
     Decimal((u16, u16, u16)),
@@ -761,7 +762,7 @@ macro_rules! wait {
             loop {
                 // FIXME: add method to the sdk to check if a SAS verification was started
                 if let Some(Verification::SasV1(sas)) = 
$this.client.get_verification($this.request.other_user_id(), $this.request.flow_id()).await {
-                    return Ok($this.continue_sas(sas).await?);
+                    return $this.continue_sas(sas).await;
                 }
 
                 if $this.request.is_passive() {
@@ -782,7 +783,7 @@ macro_rules! wait {
                         return Ok(State::Cancelled);
                     },
                     Message::UserAction(UserAction::Cancel) | Message::UserAction(UserAction::NotMatch) => {
-                        return Ok($this.cancel_request().await?);
+                        return $this.cancel_request().await;
                     },
                     Message::UserAction(UserAction::Accept) => {
                         if true $(&& $allow_action)? {
@@ -791,7 +792,7 @@ macro_rules! wait {
                     },
                     Message::UserAction(UserAction::StartSas) => {
                         if true $(&& $allow_action)? {
-                            return Ok($this.start_sas().await?);
+                            return $this.start_sas().await;
                         }
                     },
                     Message::UserAction(UserAction::Match) => {
@@ -806,7 +807,7 @@ macro_rules! wait {
                     },
                     Message::UserAction(UserAction::Scanned(data)) => {
                         if true $(&& $allow_action)? {
-                            return Ok($this.finish_scanning(data).await?);
+                            return $this.finish_scanning(data).await;
                         }
                     },
                     Message::NotifyState => {
@@ -840,10 +841,10 @@ macro_rules! wait_without_scanning_sas {
                         return Ok(State::Cancelled);
                     },
                     Message::UserAction(UserAction::Cancel) => {
-                        return Ok($this.cancel_request().await?);
+                        return $this.cancel_request().await;
                     }
                     Message::UserAction(UserAction::NotMatch) => {
-                        return Ok($this.cancel_request().await?);
+                        return $this.cancel_request().await;
                     },
                     Message::UserAction(UserAction::Accept) => {
                         break;
@@ -951,7 +952,7 @@ impl Context {
                 .request
                 .generate_qr_code()
                 .await
-                .map_err(|error| RequestVerificationError::Sdk(error))?
+                .map_err(RequestVerificationError::Sdk)?
                 .expect("Couldn't create qr-code");
 
             if let Ok(qr_code) = request.to_qr_code() {
@@ -972,7 +973,7 @@ impl Context {
 
             unreachable!();
         } else {
-            return Ok(self.start_sas().await?);
+            return self.start_sas().await;
         };
 
         // FIXME: we should automatically confirm
@@ -1008,7 +1009,7 @@ impl Context {
             .request
             .start_sas()
             .await
-            .map_err(|error| RequestVerificationError::Sdk(error))?
+            .map_err(RequestVerificationError::Sdk)?
             .expect("Sas should be supported");
 
         self.continue_sas(request).await
diff --git a/src/utils.rs b/src/utils.rs
index c392bdf7..5406ce4a 100644
--- a/src/utils.rs
+++ b/src/utils.rs
@@ -138,9 +138,9 @@ pub fn uint_to_i32(u: Option<UInt>) -> i32 {
         let u: Option<u16> = ui.try_into().ok();
         u
     })
-    .and_then(|u| {
+    .map(|u| {
         let i: i32 = u.into();
-        Some(i)
+        i
     })
     .unwrap_or(-1)
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]