pub struct PkgInfo {
pub name: Option<String>,
pub version: Option<Version>,
pub strict: bool,
pub deps: HashMap<String, DepEntry>,
}Expand description
The object responsible for locating and selecting dependency modules for each MettaMod
This structure is conceptually analogous to the a Cargo.toml file for a given module.
Fields§
§name: Option<String>The public name of the module
Should be composed of alpha-numeric characters with ‘-’ and ‘_’ characters allowed. Must not contain any other punctuation
version: Option<Version>The version of this module
A None or missing version is considered inferior to all other versions
strict: boolIf strict == true then a dependency must be declared in the PkgInfo, otherwise a permissive
version requirement will be assumed for any modules that are not explicitly declared
deps: HashMap<String, DepEntry>Requirements for each dependency sub-module
A Duplicate entry for a given sub-module in the deps list is an error.
Implementations§
Trait Implementations§
Source§impl<'de> Deserialize<'de> for PkgInfo
impl<'de> Deserialize<'de> for PkgInfo
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for PkgInfo
impl RefUnwindSafe for PkgInfo
impl Send for PkgInfo
impl Sync for PkgInfo
impl Unpin for PkgInfo
impl UnwindSafe for PkgInfo
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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> 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>
Converts
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>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request