diff --git a/crates/ui2/src/components/tab.rs b/crates/ui2/src/components/tab.rs index 36adb60178..6eebaa1e0b 100644 --- a/crates/ui2/src/components/tab.rs +++ b/crates/ui2/src/components/tab.rs @@ -94,7 +94,7 @@ impl Tab { (GitStatus::Conflict, false) => Label::new(self.title.clone()), }; - let close_icon = IconElement::new(Icon::Close).color(IconColor::Muted); + let close_icon = || IconElement::new(Icon::Close).color(IconColor::Muted); let (tab_bg, tab_hover_bg, tab_active_bg) = match self.current { true => ( @@ -131,13 +131,13 @@ impl Tab { })) .children(self.icon.map(IconElement::new)) .children(if self.close_side == IconSide::Left { - Some(close_icon.clone()) + Some(close_icon()) } else { None }) .child(label) .children(if self.close_side == IconSide::Right { - Some(close_icon) + Some(close_icon()) } else { None }), diff --git a/crates/ui2/src/elements/icon.rs b/crates/ui2/src/elements/icon.rs index a5b6adff48..662aefe12f 100644 --- a/crates/ui2/src/elements/icon.rs +++ b/crates/ui2/src/elements/icon.rs @@ -148,7 +148,7 @@ impl Icon { } } -#[derive(Element, Clone)] +#[derive(Element)] pub struct IconElement { state_type: PhantomData, icon: Icon,