pub struct ProjectDependency {
pub name: String,
pub source: String,
pub version: Option<String>,
pub pinned_hash: Option<String>,
pub vfr_id: Option<String>,
pub locator: Option<String>,
pub pinned_snapshot_hash: Option<String>,
}Expand description
A dependency on another project (like a Cargo dependency for science).
v0.8 extends this with three optional fields that turn it into a
cross-frontier dependency: when vfr_id is set, the entry pins
a remote frontier by its content-addressed id and a snapshot hash.
Link.target values of the form vf_<id>@vfr_<id> resolve through
here. Without vfr_id, the entry behaves as a pre-v0.8 compile-time
dependency record.
Fields§
§name: String§source: String§version: Option<String>§pinned_hash: Option<String>§vfr_id: Option<String>v0.8: content-addressed id of the dependent frontier.
locator: Option<String>v0.8: where to fetch the dependent frontier file from
(typically an https://… URL pointing at raw JSON).
pinned_snapshot_hash: Option<String>v0.8: SHA-256 of the canonical snapshot the dependent commits
to. Strict pull verifies the fetched dependency’s actual
snapshot_hash matches this value before satisfying any link.
Implementations§
Source§impl ProjectDependency
impl ProjectDependency
Sourcepub fn is_cross_frontier(&self) -> bool
pub fn is_cross_frontier(&self) -> bool
True if this entry declares a cross-frontier dependency
(vfr_id is set). Pre-v0.8 entries return false.
Trait Implementations§
Source§impl Clone for ProjectDependency
impl Clone for ProjectDependency
Source§fn clone(&self) -> ProjectDependency
fn clone(&self) -> ProjectDependency
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ProjectDependency
impl Debug for ProjectDependency
Source§impl<'de> Deserialize<'de> for ProjectDependency
impl<'de> Deserialize<'de> for ProjectDependency
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>,
Source§impl PartialEq for ProjectDependency
impl PartialEq for ProjectDependency
Source§fn eq(&self, other: &ProjectDependency) -> bool
fn eq(&self, other: &ProjectDependency) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for ProjectDependency
impl Serialize for ProjectDependency
impl Eq for ProjectDependency
impl StructuralPartialEq for ProjectDependency
Auto Trait Implementations§
impl Freeze for ProjectDependency
impl RefUnwindSafe for ProjectDependency
impl Send for ProjectDependency
impl Sync for ProjectDependency
impl Unpin for ProjectDependency
impl UnsafeUnpin for ProjectDependency
impl UnwindSafe for ProjectDependency
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.