[][src]Struct aur_depends::Actions

pub struct Actions<'a> {
    pub missing: Vec<Missing>,
    pub unneeded: Vec<Unneeded>,
    pub build: Vec<Base>,
    pub install: Vec<RepoPackage<'a>>,
    // some fields omitted
}

The response from resolving dependencies.

Note that just because resolving returned Ok() does not mean it is safe to bindly start installing these packages.

Fields

missing: Vec<Missing>

Some of the targets or dependencies could not be satisfied. This should be treated as a hard error.

unneeded: Vec<Unneeded>

Targets that are up to date.

build: Vec<Base>

Aur packages to build.

install: Vec<RepoPackage<'a>>

Repo packages to install.

Implementations

impl<'a> Actions<'a>[src]

pub fn iter_build_pkgs(&self) -> impl Iterator<Item = &AurPackage>[src]

An iterator over each individual package in self.build.

impl<'a> Actions<'a>[src]

pub fn calculate_conflicts(&self) -> Vec<Conflict>[src]

Calculate conflicts. Do note that even with conflicts it can still be possible to continue and install the packages. Although that is not checked here.

For example installing pacman-git will conflict with pacman. But the install will still succeed as long as the user hits yes to pacman's prompt to remove pacman.

However other cases are more complex and can not be automatically resolved. So it is up to the user to decide how to handle these.

pub fn calculate_inner_conflicts(&self) -> Result<Vec<Conflict>, Error>[src]

Calculate inner conflicts. Do note that even with conflicts it can still be possible to continue and install the packages. Although that is not checked here.

For example installing pacman-git will conflict with pacman. But the install will still succeed as long as the user hits yes to pacman's prompt to remove pacman.

However other cases are more complex and can not be automatically resolved. So it is up to the user to decide how to handle these.

pub fn duplicate_targets(&self) -> Vec<String>[src]

Find duplicate targets. It is possible to have duplicate targets if packages with the same name exist across repos.

Trait Implementations

impl<'a> Debug for Actions<'a>[src]

Auto Trait Implementations

impl<'a> RefUnwindSafe for Actions<'a>

impl<'a> !Send for Actions<'a>

impl<'a> !Sync for Actions<'a>

impl<'a> Unpin for Actions<'a>

impl<'a> UnwindSafe for Actions<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.