Another batch of fixups

Piotr Osiewicz created

Change summary

crates/gpui2/src/window.rs                                   | 4 +-
crates/refineable/derive_refineable/src/derive_refineable.rs | 4 --
crates/refineable/src/refineable.rs                          | 8 ++---
3 files changed, 6 insertions(+), 10 deletions(-)

Detailed changes

crates/gpui2/src/window.rs 🔗

@@ -637,7 +637,7 @@ impl<'a> WindowContext<'a> {
         let handle = self.window.handle;
         let display_id = self.window.display_id;
 
-        if let std::collections::hash_map::Entry::Vacant(e) = self.frame_consumers.entry(display_id) {
+        if !self.frame_consumers.contains_key(&display_id) {
             let (tx, mut rx) = mpsc::unbounded::<()>();
             self.platform.set_display_link_output_callback(
                 display_id,
@@ -669,7 +669,7 @@ impl<'a> WindowContext<'a> {
                     .ok();
                 }
             });
-            e.insert(consumer_task);
+            self.frame_consumers.insert(display_id, consumer_task);
         }
 
         if self.next_frame_callbacks.is_empty() {

crates/refineable/derive_refineable/src/derive_refineable.rs 🔗

@@ -85,9 +85,7 @@ pub fn derive_refineable(input: TokenStream) -> TokenStream {
     // Append to where_clause or create a new one if it doesn't exist
     let where_clause = match where_clause.cloned() {
         Some(mut where_clause) => {
-            where_clause
-                .predicates
-                .extend(type_param_bounds.into_iter());
+            where_clause.predicates.extend(type_param_bounds);
             where_clause.clone()
         }
         None => WhereClause {

crates/refineable/src/refineable.rs 🔗

@@ -27,7 +27,7 @@ pub struct CascadeSlot(usize);
 impl<S: Refineable + Default> Cascade<S> {
     pub fn reserve(&mut self) -> CascadeSlot {
         self.0.push(None);
-        return CascadeSlot(self.0.len() - 1);
+        CascadeSlot(self.0.len() - 1)
     }
 
     pub fn base(&mut self) -> &mut S::Refinement {
@@ -40,10 +40,8 @@ impl<S: Refineable + Default> Cascade<S> {
 
     pub fn merged(&self) -> S::Refinement {
         let mut merged = self.0[0].clone().unwrap();
-        for refinement in self.0.iter().skip(1) {
-            if let Some(refinement) = refinement {
-                merged.refine(refinement);
-            }
+        for refinement in self.0.iter().skip(1).flatten() {
+            merged.refine(refinement);
         }
         merged
     }