impl_dependency

Macro impl_dependency 

Source
macro_rules! impl_dependency {
    ($type:ty {
        name: $name:ident,
        name_range: $name_range:ident,
        version: $version:ident,
        version_range: $version_range:ident $(,)?
    }) => { ... };
    ($type:ty {
        name: $name:ident,
        name_range: $name_range:ident,
        version: $version:ident,
        version_range: $version_range:ident,
        source: $source:expr $(,)?
    }) => { ... };
}
Expand description

Implement Dependency and DependencyInfo traits for a struct.

§Arguments

  • $type - The struct type name
  • name - Field name for the dependency name (String)
  • name_range - Field name for the name range (Range)
  • version - Field name for version requirement (Option<String>)
  • version_range - Field name for version range (Option<Range>)
  • source - Optional: expression for dependency source (defaults to Registry)

§Examples

use deps_core::impl_dependency;

pub struct MyDependency {
    pub name: String,
    pub name_range: Range,
    pub version_req: Option<String>,
    pub version_range: Option<Range>,
}

impl_dependency!(MyDependency {
    name: name,
    name_range: name_range,
    version: version_req,
    version_range: version_range,
});