mod private
{
use crate :: *;
#[ allow( clippy ::type_complexity ) ]
#[ must_use ]
pub fn graph( workspace: &Workspace ) -> petgraph ::Graph< String, String >
{
let packages = workspace.packages();
let module_package_filter: Option< Box< dyn Fn( WorkspacePackageRef< '_ > ) -> bool > > = Some
(
Box ::new( move | p | p.publish().is_none() )
);
let module_dependency_filter: Option< Box< dyn Fn( WorkspacePackageRef< '_ >, DependencyRef< '_ > ) -> bool > > = Some
(
Box ::new
(
move | _, d | d.crate_dir().is_some() && d.kind() != DependencyKind ::Development
)
);
let module_packages_map = packages ::filter
(
packages,
packages ::FilterMapOptions { package_filter: module_package_filter, dependency_filter: module_dependency_filter },
);
graph ::construct( &module_packages_map ).map( | _, x | x.to_string(), | _, x | x.to_string() )
}
}
crate ::mod_interface!
{
own use graph;
}