Struct kailua_types::ty::SpannedSlotSeq [] [src]

pub struct SpannedSlotSeq {
    pub head: Vec<Spanned<Slot>>,
    pub tail: Option<Spanned<Slot>>,
    pub span: Span,
}

A sequence of spanned slot types. The sequence itself also contains its span.

Fields

The "head" types, a list of finite types at the beginning of the sequence.

The optional "tail" type. If present, it repeats indefinitely after "head".

This is implicitly nilable, because the actual value represented by the sequence is never infinite, so there should be a nil somewhere. Since we don't know where it ends, the tail should be implicitly unioned with nil in all practical sense.

We may implicitly put the nil here if it's missing, but the absence of the tail type makes a few important differences in checking. For example, function arguments are a sequence, and excess parameters to non-variadic arguments should be forbidden even if those excess parameters are always nil. This is only possible when we have a separate way to mark a missing tail.

A span of the entire sequence. Used for finer diagnostics.

Methods

impl SpannedSlotSeq
[src]

impl SpannedSlotSeq
[src]

Trait Implementations

impl Clone for SpannedSlotSeq
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl PartialEq for SpannedSlotSeq
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<'a> From<Spanned<T<'a>>> for SpannedSlotSeq
[src]

Performs the conversion.

impl From<Spanned<Ty>> for SpannedSlotSeq
[src]

Performs the conversion.

impl From<Spanned<Slot>> for SpannedSlotSeq
[src]

Performs the conversion.

impl Dummy for SpannedSlotSeq
[src]

Generates a dummy value.

impl Union for SpannedSlotSeq
[src]

A type of the resulting type.

Calculates a union type of self and other, explicitly or implicitly. Read more

impl Lattice for SpannedSlotSeq
[src]

Asserts that self is a consistent subtype of other under the type context.

Asserts that self is a consistent type equal to other under the type context.

impl Display for SpannedSlotSeq
[src]

impl Debug for SpannedSlotSeq
[src]

Formats the value using the given formatter.