Struct PropertyRelease
pub struct PropertyRelease { /* private fields */ }Description
Binding of a property contract to a release, independent of the provider.
Implementations§
§impl PropertyRelease
impl PropertyRelease
pub fn new(
identities: (String, String),
inputs: Vec<String>,
branch: Option<String>,
derivatives: PropertyDerivatives,
attribution: (String, String),
meaning: PropertyMeaning,
) -> Result<PropertyRelease, Diagnostic>
pub fn new( identities: (String, String), inputs: Vec<String>, branch: Option<String>, derivatives: PropertyDerivatives, attribution: (String, String), meaning: PropertyMeaning, ) -> Result<PropertyRelease, Diagnostic>
Attach contract and release identities to a property value.
§Errors
Rejects overlong or malformed identity strings, duplicate formal names, a formal-count mismatch, and derivative claims for constant contracts.
pub fn with_composition(
self,
composition: Option<String>,
) -> Result<PropertyRelease, Diagnostic>
pub fn with_composition( self, composition: Option<String>, ) -> Result<PropertyRelease, Diagnostic>
Record the authored material composition of this release.
§Errors
Rejects malformed or overlong composition identities.
pub fn for_requirement(
self,
component: String,
requirement: String,
) -> Result<PropertyRelease, Diagnostic>
pub fn for_requirement( self, component: String, requirement: String, ) -> Result<PropertyRelease, Diagnostic>
Record the named component requirement that uses this release.
§Errors
Rejects empty, malformed, or overlong context labels.
pub fn composition(&self) -> Option<&str>
pub fn composition(&self) -> Option<&str>
Nominal material composition, when explicitly selected by the binding.
pub fn consumer(&self) -> Option<(&str, &str)>
pub fn consumer(&self) -> Option<(&str, &str)>
Named component requirement; the containing DAG root supplies occurrence identity.
pub fn release(&self) -> &str
pub fn release(&self) -> &str
Release identity, including its source or package.
pub fn inputs(&self) -> &[String]
pub fn inputs(&self) -> &[String]
Independent input names in formal-slot order.
pub fn branch(&self) -> Option<&str>
pub fn branch(&self) -> Option<&str>
Declared phase branch; no branch is inferred from a material name.
pub const fn first_partials(&self) -> bool
pub const fn first_partials(&self) -> bool
Whether the contract requires ordinary first formal partials.
pub const fn derivatives(&self) -> PropertyDerivatives
pub const fn derivatives(&self) -> PropertyDerivatives
Which derivatives the contract provides.
pub fn partial(&self, input: &str) -> Result<PureOperatorDefinition, Diagnostic>
pub fn partial(&self, input: &str) -> Result<PureOperatorDefinition, Diagnostic>
Derive the first partial derivative with respect to input.
The other declared inputs are held fixed, and the validity guard is kept.
§Errors
Rejects a contract without first derivatives or an undeclared input.
pub const fn meaning(&self) -> &PropertyMeaning
pub const fn meaning(&self) -> &PropertyMeaning
Mathematical value.
Trait Implementations§
§impl Clone for PropertyRelease
impl Clone for PropertyRelease
§impl Debug for PropertyRelease
impl Debug for PropertyRelease
§impl PartialEq for PropertyRelease
impl PartialEq for PropertyRelease
§fn eq(&self, other: &PropertyRelease) -> bool
fn eq(&self, other: &PropertyRelease) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for PropertyRelease
Auto Trait Implementations§
impl Freeze for PropertyRelease
impl RefUnwindSafe for PropertyRelease
impl Send for PropertyRelease
impl Sync for PropertyRelease
impl Unpin for PropertyRelease
impl UnsafeUnpin for PropertyRelease
impl UnwindSafe for PropertyRelease
Blanket Implementations§
Source§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Source§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
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,
§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
§fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§impl<T> ConvUtil for T
impl<T> ConvUtil for T
§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst, Scheme>,
Scheme: ApproxScheme,
§fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
fn into_as<Dst>(self) -> Dstwhere
Self: Sized + Into<Dst>,
§fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
fn try_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + TryInto<Dst>,
§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> Twhere
Self: Distribution<T>,
Source§impl<T> From<T> for T
impl<T> From<T> for 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>
Source§impl<T, U> Into<U> for Twhere
U: From<T>,
impl<T, U> Into<U> for Twhere
U: From<T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>where
F: FnOnce(&Self) -> bool,
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> Same for T
impl<T> Same for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.