pub trait Database {
// Required methods
fn add_segments(
&mut self,
segment: Vec<Segment>,
) -> Result<(), HyperlitError>;
fn get_all_segments(&self) -> Result<Vec<&Segment>, HyperlitError>;
fn get_segment_by_id(&self, id: u32) -> Result<&Segment, HyperlitError>;
fn set_segment_included(&mut self, id: u32) -> Result<(), HyperlitError>;
// Provided method
fn get_segments_by_tag(
&self,
tag: &str,
) -> Result<Vec<&Segment>, HyperlitError> { ... }
}Required Methods§
fn add_segments(&mut self, segment: Vec<Segment>) -> Result<(), HyperlitError>
fn get_all_segments(&self) -> Result<Vec<&Segment>, HyperlitError>
fn get_segment_by_id(&self, id: u32) -> Result<&Segment, HyperlitError>
fn set_segment_included(&mut self, id: u32) -> Result<(), HyperlitError>
Provided Methods§
fn get_segments_by_tag(&self, tag: &str) -> Result<Vec<&Segment>, HyperlitError>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".