pub struct WorkspaceMember {
pub package: String,
pub version: Option<String>,
pub workspace_deps: Vec<String>,
pub dep_reqs: BTreeMap<String, String>,
}Expand description
One crates.io-publishable Cargo workspace member and its intra-workspace
(publishable) dependency crate names — a node in RustWorkspace.
Fields§
§package: StringThe crate/package name ([package].name).
version: Option<String>The member’s declared/inherited version, or None when unresolved.
workspace_deps: Vec<String>The names of this member’s dependencies that are themselves publishable members of the same workspace — the edges that order the publish (each of these must be crates.io-index-visible before this member can publish). Only normal + build dependencies gate order; dev-dependencies are excluded (they never gate publish order and can legitimately cycle).
dep_reqs: BTreeMap<String, String>The literal version requirement string this member’s manifest declares
for each intra-workspace dependency that carries one, keyed by dependency
crate name (e.g. {"octl-core": "=0.4.0"} for octl-core = { path = "…", version = "=0.4.0" }). Only edges present in Self::workspace_deps appear,
and only when the manifest declares an explicit version on the dependency —
a path-only or workspace = true-inherited edge (whose requirement is not
literally in this manifest) is absent, not defaulted.
This is what makes the bump phase’s pin rewrite precise
(release-rust-workspace-multicrate facet 3): the planner emits a pin rewrite
only for an edge whose requirement literally equals =<from_version> (the
lockstep convention), never for a caret/range/workspace = true edge it would
otherwise clobber. Off-wire, like the rest of RustWorkspace.
Trait Implementations§
Source§impl Clone for WorkspaceMember
impl Clone for WorkspaceMember
Source§fn clone(&self) -> WorkspaceMember
fn clone(&self) -> WorkspaceMember
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 WorkspaceMember
impl Debug for WorkspaceMember
impl Eq for WorkspaceMember
Source§impl PartialEq for WorkspaceMember
impl PartialEq for WorkspaceMember
impl StructuralPartialEq for WorkspaceMember
Auto Trait Implementations§
impl Freeze for WorkspaceMember
impl RefUnwindSafe for WorkspaceMember
impl Send for WorkspaceMember
impl Sync for WorkspaceMember
impl Unpin for WorkspaceMember
impl UnsafeUnpin for WorkspaceMember
impl UnwindSafe for WorkspaceMember
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.