macro_rules! impl_parse_result {
($type:ty, $dep_type:ty {
dependencies: $dependencies:ident,
uri: $uri:ident $(,)?
}) => { ... };
($type:ty, $dep_type:ty {
dependencies: $dependencies:ident,
uri: $uri:ident,
workspace_root: $workspace_root:ident $(,)?
}) => { ... };
}Expand description
Implement ParseResult trait for a struct.
§Arguments
$type- The struct type name$dep_type- The dependency type that implementsDependencydependencies- Field name for dependencies vec (Vec<DepType>)uri- Field name for document URI (Url)workspace_root- Optional: field name for workspace root (Option<PathBuf>)
§Examples
ⓘ
use deps_core::impl_parse_result;
pub struct MyParseResult {
pub dependencies: Vec<MyDependency>,
pub uri: Uri,
}
impl_parse_result!(MyParseResult, MyDependency {
dependencies: dependencies,
uri: uri,
});
// With workspace root:
impl_parse_result!(MyParseResult, MyDependency {
dependencies: dependencies,
uri: uri,
workspace_root: workspace_root,
});