cargo::ops::cargo_add

Struct DependencyUI

Source
pub struct DependencyUI {
    dep: Dependency,
    available_version: Option<Version>,
    available_features: BTreeMap<String, Vec<String>>,
}
Expand description

Track presentation-layer information with the editable representation of a [dependencies] entry (Dependency)

Fields§

§dep: Dependency

Editable representation of a [depednencies] entry

§available_version: Option<Version>

The version of the crate that we pulled available_features from

§available_features: BTreeMap<String, Vec<String>>

The widest set of features compatible with Dependencys version requirement

Implementations§

Source§

impl DependencyUI

Source

fn new(dep: Dependency) -> Self

Source

fn apply_summary(&mut self, summary: &Summary)

Source

fn features(&self) -> (IndexSet<&str>, IndexSet<&str>)

Methods from Deref<Target = Dependency>§

Source

pub fn source(&self) -> Option<&Source>

Get the dependency source.

Source

pub fn version(&self) -> Option<&str>

Get version of dependency.

Source

pub fn registry(&self) -> Option<&str>

Get registry of the dependency.

Source

pub fn rename(&self) -> Option<&str>

Get the alias for the dependency (if any).

Source

pub fn default_features(&self) -> Option<bool>

Whether default features are activated.

Source

pub fn optional(&self) -> Option<bool>

Get whether the dep is optional.

Source

pub fn public(&self) -> Option<bool>

Get whether the dep is public.

Source

pub fn source_id( &self, gctx: &GlobalContext, ) -> CargoResult<MaybeWorkspace<SourceId>>

Get the SourceID for this dependency.

Source

pub fn query( &self, gctx: &GlobalContext, ) -> CargoResult<MaybeWorkspace<Dependency>>

Query to find this dependency.

Source

pub fn toml_key(&self) -> &str

Get the dependency name as defined in the manifest, that is, either the alias (rename field if Some), or the official package name (name field).

Source

pub fn to_toml<'a>( &self, gctx: &GlobalContext, workspace_root: &Path, crate_root: &Path, unstable_features: &Features, ) -> CargoResult<Item>

Convert dependency to TOML.

Returns a tuple with the dependency’s name and either the version as a String or the path/git repository as an InlineTable. (If the dependency is set as optional or default-features is set to false, an InlineTable is returned in any case.)

§Panic

Panics if the path is relative

Source

pub fn update_toml<'k, 'a>( &self, gctx: &GlobalContext, workspace_root: &Path, crate_root: &Path, unstable_features: &Features, key: &mut KeyMut<'k>, item: &mut Item, ) -> CargoResult<()>

Modify existing entry to match this dependency.

Trait Implementations§

Source§

impl Deref for DependencyUI

Source§

type Target = Dependency

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Display for DependencyUI

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'s> From<&'s Summary> for DependencyUI

Source§

fn from(other: &'s Summary) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more

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