struct RemainingCandidates {
    remaining: RcVecIter<Summary>,
    has_another: Option<Summary>,
}
Expand description

A helper “iterator” used to extract candidates within a current Context of a dependency graph.

This struct doesn’t literally implement the Iterator trait (requires a few more inputs) but in general acts like one. Each RemainingCandidates is created with a list of candidates to choose from. When attempting to iterate over the list of candidates only valid candidates are returned. Validity is defined within a Context.

Candidates passed to new may not be returned from next as they could be filtered out, and as they are filtered the causes will be added to conflicting_prev_active.

Fields§

§remaining: RcVecIter<Summary>§has_another: Option<Summary>

Implementations§

Attempts to find another candidate to check from this list.

This method will attempt to move this iterator forward, returning a candidate that’s possible to activate. The cx argument is the current context which determines validity for candidates returned, and the dep is the dependency listing that we’re activating for.

If successful a (Candidate, bool) pair will be returned. The Candidate is the candidate to attempt to activate, and the bool is an indicator of whether there are remaining candidates to try of if we’ve reached the end of iteration.

If we’ve reached the end of the iterator here then Err will be returned. The error will contain a map of package ID to conflict reason, where each package ID caused a candidate to be filtered out from the original list for the reason listed.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more

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.

Should always be Self
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
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: 32 bytes