Struct crates_index::Crate[][src]

pub struct Crate { /* fields omitted */ }
Expand description

A single crate that contains many published versions

Implementations

impl Crate[src]

pub fn new<P: AsRef<Path>>(index_path: P) -> Result<Crate>[src]

Parse the file with crate versions.

The file must contain at least one version.

pub fn from_slice(bytes: &[u8]) -> Result<Crate>[src]

Parse crate file from in-memory JSON data

pub fn from_cache_slice(bytes: &[u8], index_version: &str) -> Result<Crate>[src]

Parse crate index entry from a .cache file, this can fail for a number of reasons

  1. There is no entry for this crate
  2. The entry was created with an older commit and might be outdated
  3. The entry is a newer version than what can be read, would only happen if a future version of cargo changed the format of the cache entries
  4. The cache entry is malformed somehow

pub fn versions(&self) -> &[Version][src]

Published versions of this crate sorted chronologically by date published

pub fn earliest_version(&self) -> &Version[src]

Oldest version.

Warning: may not be the lowest version number.

pub fn latest_version(&self) -> &Version[src]

Most recently published version. Warning: may not be the highest version.

pub fn highest_version(&self) -> SemverVersion[src]

Returns the highest version as per semantic versioning specification.

pub fn highest_stable_version(&self) -> Option<SemverVersion>[src]

Returns the highest version as per semantic versioning specification, filtering out versions with pre-release identifiers.

pub fn name(&self) -> &str[src]

Trait Implementations

impl Clone for Crate[src]

fn clone(&self) -> Crate[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Crate[src]

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

Formats the value using the given formatter. Read more

impl<'de> Deserialize<'de> for Crate[src]

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
    __D: Deserializer<'de>, 
[src]

Deserialize this value from the given Serde deserializer. Read more

impl Serialize for Crate[src]

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
    __S: Serializer
[src]

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations

impl RefUnwindSafe for Crate

impl Send for Crate

impl Sync for Crate

impl Unpin for Crate

impl UnwindSafe for Crate

Blanket Implementations

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

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

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.

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

Performs the conversion.

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.

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

Performs the conversion.

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]