#[non_exhaustive]pub struct BatchOutcome {
pub succeeded: Vec<String>,
pub unchanged: Vec<String>,
pub failed: Vec<(String, Error)>,
}Expand description
The per-item result of a batch operation.
A batch does not stop at the first failure: an operation that already mutated
earlier items has to report which ones, so failed carries the reason per
item rather than collapsing to a single error.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.succeeded: Vec<String>Identifiers the operation completed.
For uninstall_batch and set_enabled_batch, this is exactly the
requested identifiers, in the order each completed, matching this
field’s name at face value. For install_batch it does not: that
function sorts and deduplicates it, and fills it with the whole
dependency closure that installed rather than only what the caller
asked for. A caller zipping batch.desired against this positionally,
or reading succeeded.len() as “how many of my requested items
worked”, is wrong for install by however many dependencies were pulled
in.
unchanged: Vec<String>Identifiers left alone because the version already recorded in mods.yml
is the one that would be installed. Only install_batch fills this;
like succeeded it covers the dependency closure, sorted and
deduplicated, and never names anything succeeded or failed also names.
failed: Vec<(String, Error)>Identifiers that failed, each with the reason.