pub(crate) struct ArgMatrix<'tcx> {
    provided_indices: Vec<ProvidedIdx>,
    expected_indices: Vec<ExpectedIdx>,
    compatibility_matrix: Vec<Vec<Compatibility<'tcx>>>,
}

Fields

provided_indices: Vec<ProvidedIdx>

Maps the indices in the compatibility_matrix rows to the indices of the user provided inputs

expected_indices: Vec<ExpectedIdx>

Maps the indices in the compatibility_matrix columns to the indices of the expected args

compatibility_matrix: Vec<Vec<Compatibility<'tcx>>>

The first dimension (rows) are the remaining user provided inputs to match and the second dimension (cols) are the remaining expected args to match

Implementations

Remove a given input from consideration

Remove a given argument from consideration

“satisfy” an input with a given arg, removing both from consideration

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.

Layout

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: 72 bytes