Struct cargo::ops::common_for_install_and_uninstall::CrateListingV2
source · struct CrateListingV2 {
installs: BTreeMap<PackageId, InstallInfo>,
other: BTreeMap<String, Value>,
}
Expand description
Tracking information for the set of installed packages.
Fields§
§installs: BTreeMap<PackageId, InstallInfo>
Map of every installed package.
other: BTreeMap<String, Value>
Forwards compatibility. Unknown keys from future versions of Cargo will be stored here and retained when the file is saved.
Implementations§
source§impl CrateListingV2
impl CrateListingV2
sourcefn sync_v1(&mut self, v1: &CrateListingV1)
fn sync_v1(&mut self, v1: &CrateListingV1)
Incorporate any changes from v1 into self.
This handles the initial upgrade to v2, and handles the case
where v2 is in use, and a v1 update is made, then v2 is used again.
i.e., cargo +new install foo ; cargo +old install bar ; cargo +new install bar
For now, v1 is the source of truth, so its values are trusted over v2.
fn package_for_bin(&self, bin_name: &str) -> Option<PackageId>
fn mark_installed( &mut self, pkg: &Package, bins: &BTreeSet<String>, version_req: Option<String>, opts: &CompileOptions, target: &str, rustc: &str, )
fn remove(&mut self, pkg_id: PackageId, bins: &BTreeSet<String>)
fn remove_bin(&mut self, pkg_id: PackageId, bin: &str)
fn save(&self, lock: &FileLock) -> CargoResult<()>
Trait Implementations§
source§impl Default for CrateListingV2
impl Default for CrateListingV2
source§fn default() -> CrateListingV2
fn default() -> CrateListingV2
source§impl<'de> Deserialize<'de> for CrateListingV2
impl<'de> Deserialize<'de> for CrateListingV2
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for CrateListingV2
impl RefUnwindSafe for CrateListingV2
impl Send for CrateListingV2
impl Sync for CrateListingV2
impl Unpin for CrateListingV2
impl UnwindSafe for CrateListingV2
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> Serialize for T
impl<T> Serialize for T
fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>
fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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: 48 bytes