MultiSpan in rustc_errors - Rust (original) (raw)

pub struct MultiSpan {
    pub(crate) primary_spans: Vec<Span>,
    pub(crate) span_labels: Vec<(Span, DiagMessage)>,
}

Expand description

A collection of Spans.

Spans have two orthogonal attributes:

Source§

Source

Source

Source

Source

Source

Selects the first primary span (if any).

Source

Returns all primary spans.

Source

Returns true if any of the primary spans are displayable.

Source

Returns true if this contains only a dummy primary span with any hygienic context.

Source

Replaces all occurrences of one Span with another. Used to move Spans in areas that don’t display well (like std macros). Returns whether replacements occurred.

Source

Source

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 returnSpanLabel instances with empty labels.

Source

Returns true if any of the span labels is displayable.

Source

Clone this MultiSpan without keeping any of the span labels - sometimes a MultiSpan is to be re-used in another diagnostic, but includes span_labels which have translated messages. These translated messages would fail to translate without their diagnostic arguments which are unlikely to be cloned alongside the Span.

§

§

§

§

§

§

§

§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 48 bytes