pub trait Doc: Clone + 'static {
type Source: Content;
type Lang: Language;
type Node<'r>: SgNode<'r>;
// Required methods
fn get_lang(&self) -> &Self::Lang;
fn get_source(&self) -> &Self::Source;
fn do_edit(&mut self, edit: &Edit<Self::Source>) -> Result<(), String>;
fn root_node(&self) -> Self::Node<'_>;
fn get_node_text<'a>(&'a self, node: &Self::Node<'a>) -> Cow<'a, str>;
}
Required Associated Types§
Required Methods§
fn get_lang(&self) -> &Self::Lang
fn get_source(&self) -> &Self::Source
fn do_edit(&mut self, edit: &Edit<Self::Source>) -> Result<(), String>
fn root_node(&self) -> Self::Node<'_>
fn get_node_text<'a>(&'a self, node: &Self::Node<'a>) -> Cow<'a, str>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.