impl_metadata

Macro impl_metadata 

Source
macro_rules! impl_metadata {
    ($type:ty {
        name: $name:ident,
        description: $description:ident,
        repository: $repository:ident,
        documentation: $documentation:ident,
        latest_version: $latest_version:ident $(,)?
    }) => { ... };
}
Expand description

Implement Metadata and PackageMetadata traits for a struct.

§Arguments

  • $type - The struct type name
  • name - Field name for package name (String)
  • description - Field name for description (Option<String>)
  • repository - Field name for repository (Option<String>)
  • documentation - Field name for documentation URL (Option<String>)
  • latest_version - Field name for latest version (String)

§Examples

use deps_core::impl_metadata;

pub struct MyPackage {
    pub name: String,
    pub description: Option<String>,
    pub repository: Option<String>,
    pub homepage: Option<String>,
    pub latest_version: String,
}

impl_metadata!(MyPackage {
    name: name,
    description: description,
    repository: repository,
    documentation: homepage,
    latest_version: latest_version,
});