pub trait MessageBase {
// Required methods
fn message_title(&self) -> Cow<'_, str>;
fn main_annotation(&self) -> Annotation<'_>;
// Provided methods
fn message_type(&self) -> AnnotationType { ... }
fn additional_annotations<'a, T: Extend<Annotation<'a>>>(
&'a self,
results: &mut T,
) { ... }
fn footers(&self) -> Vec<Footer<'_>> { ... }
}
Expand description
Helper for constructing a Message
Thanks to the blanket implementation impl<'a, T: MessageBase> From<&'a T> for Message<'a>
, implementors of this trait can be converted to a message
for free.
Required Methods§
Sourcefn message_title(&self) -> Cow<'_, str>
fn message_title(&self) -> Cow<'_, str>
Returns the main caption of the message.
Sourcefn main_annotation(&self) -> Annotation<'_>
fn main_annotation(&self) -> Annotation<'_>
Returns an annotation to be the first in the message.
Provided Methods§
Sourcefn message_type(&self) -> AnnotationType
fn message_type(&self) -> AnnotationType
Returns the type of the entire message.
The default implementation returns AnnotationType::Error
.
Sourcefn additional_annotations<'a, T: Extend<Annotation<'a>>>(
&'a self,
results: &mut T,
)
fn additional_annotations<'a, T: Extend<Annotation<'a>>>( &'a self, results: &mut T, )
Adds additional annotations to the given container.
The default implementation does nothing.
Returns footers that are included in the message.
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.