Struct syntex_pos::MultiSpan
[−]
[src]
pub struct MultiSpan { /* fields omitted */ }
A collection of spans. Spans have two orthogonal attributes:
- they can be primary spans. In this case they are the locus of
the error, and would be rendered with
^^^
. - they can have a label. In this case, the label is written next to the mark in the snippet when we render.
Methods
impl MultiSpan
[src]
fn new() -> MultiSpan
fn from_span(primary_span: Span) -> MultiSpan
fn from_spans(vec: Vec<Span>) -> MultiSpan
fn push_span_label(&mut self, span: Span, label: String)
fn primary_span(&self) -> Option<Span>
Selects the first primary span (if any)
fn primary_spans(&self) -> &[Span]
Returns all primary spans.
fn replace(&mut self, before: Span, after: Span) -> bool
Replaces all occurances of one Span with another. Used to move Spans in areas that don't display well (like std macros). Returns true if replacements occurred.
fn span_labels(&self) -> Vec<SpanLabel>
Returns the strings to highlight. We always ensure that there
is an entry for each of the primary spans -- for each primary
span P, if there is at least one label with span P, we return
those labels (marked as primary). But otherwise we return
SpanLabel
instances with empty labels.
Trait Implementations
impl Clone for MultiSpan
[src]
fn clone(&self) -> MultiSpan
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0
Performs copy-assignment from source
. Read more
impl Debug for MultiSpan
[src]
impl Hash for MultiSpan
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
1.3.0
Feeds a slice of this type into the state provided.
impl PartialEq for MultiSpan
[src]
fn eq(&self, __arg_0: &MultiSpan) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &MultiSpan) -> bool
This method tests for !=
.