Another batch of fixups

This commit is contained in:
Piotr Osiewicz 2024-01-02 00:24:11 +01:00
parent 2621efebea
commit a3759f9a33
3 changed files with 6 additions and 10 deletions

View file

@ -637,7 +637,7 @@ impl<'a> WindowContext<'a> {
let handle = self.window.handle; let handle = self.window.handle;
let display_id = self.window.display_id; 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::<()>(); let (tx, mut rx) = mpsc::unbounded::<()>();
self.platform.set_display_link_output_callback( self.platform.set_display_link_output_callback(
display_id, display_id,
@ -669,7 +669,7 @@ impl<'a> WindowContext<'a> {
.ok(); .ok();
} }
}); });
e.insert(consumer_task); self.frame_consumers.insert(display_id, consumer_task);
} }
if self.next_frame_callbacks.is_empty() { if self.next_frame_callbacks.is_empty() {

View file

@ -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 // Append to where_clause or create a new one if it doesn't exist
let where_clause = match where_clause.cloned() { let where_clause = match where_clause.cloned() {
Some(mut where_clause) => { Some(mut where_clause) => {
where_clause where_clause.predicates.extend(type_param_bounds);
.predicates
.extend(type_param_bounds.into_iter());
where_clause.clone() where_clause.clone()
} }
None => WhereClause { None => WhereClause {

View file

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