use std::marker::PhantomData; use crate::prelude::*; use crate::{Buffer, Toolbar}; #[derive(Element)] struct Editor { view_type: PhantomData, toolbar: Toolbar, buffer: Buffer, } impl Editor { pub fn new(toolbar: Toolbar, buffer: Buffer) -> Self { Self { view_type: PhantomData, toolbar, buffer, } } fn render(&mut self, _: &mut V, cx: &mut ViewContext) -> impl IntoElement { div().child(self.toolbar.clone()) } }