diff --git a/crates/editor/src/element.rs b/crates/editor/src/element.rs index 57c84b62b5..d6642f7deb 100644 --- a/crates/editor/src/element.rs +++ b/crates/editor/src/element.rs @@ -3661,7 +3661,7 @@ impl Element for EditorElement { let mut style = Style::default(); style.size.width = relative(1.).into(); style.size.height = self.style.text.line_height_in_pixels(rem_size).into(); - cx.request_layout(&style, None) + cx.request_layout(style, None) } EditorMode::AutoHeight { max_lines } => { let editor_handle = cx.view().clone(); @@ -3685,7 +3685,7 @@ impl Element for EditorElement { let mut style = Style::default(); style.size.width = relative(1.).into(); style.size.height = relative(1.).into(); - cx.request_layout(&style, None) + cx.request_layout(style, None) } }; diff --git a/crates/gpui/src/element.rs b/crates/gpui/src/element.rs index e573b11d6e..e4c8ead043 100644 --- a/crates/gpui/src/element.rs +++ b/crates/gpui/src/element.rs @@ -603,7 +603,7 @@ impl Element for Empty { _id: Option<&GlobalElementId>, cx: &mut WindowContext, ) -> (LayoutId, Self::RequestLayoutState) { - (cx.request_layout(&Style::default(), None), ()) + (cx.request_layout(Style::default(), None), ()) } fn prepaint( diff --git a/crates/gpui/src/elements/anchored.rs b/crates/gpui/src/elements/anchored.rs index f161521f57..ed68e3e40d 100644 --- a/crates/gpui/src/elements/anchored.rs +++ b/crates/gpui/src/elements/anchored.rs @@ -93,7 +93,7 @@ impl Element for Anchored { ..Style::default() }; - let layout_id = cx.request_layout(&anchored_style, child_layout_ids.iter().copied()); + let layout_id = cx.request_layout(anchored_style, child_layout_ids.iter().copied()); (layout_id, AnchoredState { child_layout_ids }) } diff --git a/crates/gpui/src/elements/canvas.rs b/crates/gpui/src/elements/canvas.rs index f98a962094..ccf29f45ff 100644 --- a/crates/gpui/src/elements/canvas.rs +++ b/crates/gpui/src/elements/canvas.rs @@ -49,7 +49,7 @@ impl Element for Canvas { ) -> (crate::LayoutId, Self::RequestLayoutState) { let mut style = Style::default(); style.refine(&self.style); - let layout_id = cx.request_layout(&style, []); + let layout_id = cx.request_layout(style.clone(), []); (layout_id, style) } diff --git a/crates/gpui/src/elements/div.rs b/crates/gpui/src/elements/div.rs index 41ad33e588..00609aef2d 100644 --- a/crates/gpui/src/elements/div.rs +++ b/crates/gpui/src/elements/div.rs @@ -1139,7 +1139,7 @@ impl Element for Div { .iter_mut() .map(|child| child.request_layout(cx)) .collect::>(); - cx.request_layout(&style, child_layout_ids.iter().copied()) + cx.request_layout(style, child_layout_ids.iter().copied()) }) }); (layout_id, DivFrameState { child_layout_ids }) diff --git a/crates/gpui/src/elements/img.rs b/crates/gpui/src/elements/img.rs index c5e2f1701e..3f84f14086 100644 --- a/crates/gpui/src/elements/img.rs +++ b/crates/gpui/src/elements/img.rs @@ -262,7 +262,7 @@ impl Element for Img { } } - cx.request_layout(&style, []) + cx.request_layout(style, []) }); (layout_id, ()) } diff --git a/crates/gpui/src/elements/list.rs b/crates/gpui/src/elements/list.rs index 586331afbd..0d4cade684 100644 --- a/crates/gpui/src/elements/list.rs +++ b/crates/gpui/src/elements/list.rs @@ -766,7 +766,7 @@ impl Element for List { let mut style = Style::default(); style.refine(&self.style); cx.with_text_style(style.text_style().cloned(), |cx| { - cx.request_layout(&style, None) + cx.request_layout(style, None) }) } }; diff --git a/crates/gpui/src/elements/svg.rs b/crates/gpui/src/elements/svg.rs index 34925bd075..159b9c065e 100644 --- a/crates/gpui/src/elements/svg.rs +++ b/crates/gpui/src/elements/svg.rs @@ -51,7 +51,7 @@ impl Element for Svg { ) -> (LayoutId, Self::RequestLayoutState) { let layout_id = self .interactivity - .request_layout(global_id, cx, |style, cx| cx.request_layout(&style, None)); + .request_layout(global_id, cx, |style, cx| cx.request_layout(style, None)); (layout_id, ()) } diff --git a/crates/gpui/src/taffy.rs b/crates/gpui/src/taffy.rs index d5abd9add4..03ba16cd3e 100644 --- a/crates/gpui/src/taffy.rs +++ b/crates/gpui/src/taffy.rs @@ -49,7 +49,7 @@ impl TaffyLayoutEngine { pub fn request_layout( &mut self, - style: &Style, + style: Style, rem_size: Pixels, children: &[LayoutId], ) -> LayoutId { @@ -66,12 +66,11 @@ impl TaffyLayoutEngine { .new_with_children(taffy_style, unsafe { std::mem::transmute(children) }) .expect(EXPECT_MESSAGE) .into(); - for child_id in children { - self.children_to_parents.insert(*child_id, parent_id); - } + self.children_to_parents + .extend(children.into_iter().map(|child_id| (*child_id, parent_id))); parent_id }; - self.styles.insert(layout_id, style.clone()); + self.styles.insert(layout_id, style); layout_id } @@ -82,7 +81,6 @@ impl TaffyLayoutEngine { measure: impl FnMut(Size>, Size, &mut WindowContext) -> Size + 'static, ) -> LayoutId { - let style = style.clone(); let taffy_style = style.to_taffy(rem_size); let layout_id = self @@ -91,7 +89,7 @@ impl TaffyLayoutEngine { .expect(EXPECT_MESSAGE) .into(); self.nodes_to_measure.insert(layout_id, Box::new(measure)); - self.styles.insert(layout_id, style.clone()); + self.styles.insert(layout_id, style); layout_id } diff --git a/crates/gpui/src/view.rs b/crates/gpui/src/view.rs index f6e859ce44..fb96f75a80 100644 --- a/crates/gpui/src/view.rs +++ b/crates/gpui/src/view.rs @@ -296,7 +296,7 @@ impl Element for AnyView { if let Some(style) = self.cached_style.as_ref() { let mut root_style = Style::default(); root_style.refine(style); - let layout_id = cx.request_layout(&root_style, None); + let layout_id = cx.request_layout(root_style, None); (layout_id, None) } else { let mut element = (self.render)(self, cx); diff --git a/crates/gpui/src/window.rs b/crates/gpui/src/window.rs index f7063d17c3..17236c07c6 100644 --- a/crates/gpui/src/window.rs +++ b/crates/gpui/src/window.rs @@ -2503,7 +2503,7 @@ impl<'a> WindowContext<'a> { /// This method should only be called as part of the request_layout or prepaint phase of element drawing. pub fn request_layout( &mut self, - style: &Style, + style: Style, children: impl IntoIterator, ) -> LayoutId { debug_assert_eq!( diff --git a/crates/markdown/src/markdown.rs b/crates/markdown/src/markdown.rs index 9d362ed6bd..28a7031fc3 100644 --- a/crates/markdown/src/markdown.rs +++ b/crates/markdown/src/markdown.rs @@ -568,7 +568,7 @@ impl Element for MarkdownElement { let mut rendered_markdown = builder.build(); let child_layout_id = rendered_markdown.element.request_layout(cx); - let layout_id = cx.request_layout(&Style::default(), [child_layout_id]); + let layout_id = cx.request_layout(Style::default(), [child_layout_id]); (layout_id, rendered_markdown) } diff --git a/crates/terminal_view/src/terminal_element.rs b/crates/terminal_view/src/terminal_element.rs index ba457bd7a0..be32df471d 100644 --- a/crates/terminal_view/src/terminal_element.rs +++ b/crates/terminal_view/src/terminal_element.rs @@ -559,7 +559,7 @@ impl Element for TerminalElement { .request_layout(global_id, cx, |mut style, cx| { style.size.width = relative(1.).into(); style.size.height = relative(1.).into(); - let layout_id = cx.request_layout(&style, None); + let layout_id = cx.request_layout(style, None); layout_id }); diff --git a/crates/ui/src/components/popover_menu.rs b/crates/ui/src/components/popover_menu.rs index 05bceda2d0..3fb5f7834c 100644 --- a/crates/ui/src/components/popover_menu.rs +++ b/crates/ui/src/components/popover_menu.rs @@ -195,7 +195,7 @@ impl Element for PopoverMenu { .map(|child_element| child_element.request_layout(cx)); let layout_id = cx.request_layout( - &gpui::Style::default(), + gpui::Style::default(), menu_layout_id.into_iter().chain(child_layout_id), ); diff --git a/crates/ui/src/components/right_click_menu.rs b/crates/ui/src/components/right_click_menu.rs index 367841286f..25481252b3 100644 --- a/crates/ui/src/components/right_click_menu.rs +++ b/crates/ui/src/components/right_click_menu.rs @@ -142,7 +142,7 @@ impl Element for RightClickMenu { .map(|child_element| child_element.request_layout(cx)); let layout_id = cx.request_layout( - &gpui::Style::default(), + gpui::Style::default(), menu_layout_id.into_iter().chain(child_layout_id), ); diff --git a/crates/workspace/src/pane_group.rs b/crates/workspace/src/pane_group.rs index a8fbf92257..439507e56e 100644 --- a/crates/workspace/src/pane_group.rs +++ b/crates/workspace/src/pane_group.rs @@ -810,7 +810,7 @@ mod element { style.flex_basis = relative(0.).into(); style.size.width = relative(1.).into(); style.size.height = relative(1.).into(); - (cx.request_layout(&style, None), ()) + (cx.request_layout(style, None), ()) } fn prepaint(