fn artifact_targets_to_unit_deps(
    parent: &Unit,
    parent_unit_for: UnitFor,
    state: &State<'_, '_>,
    compile_kind: CompileKind,
    artifact_pkg: &Package,
    dep: &Dependency
) -> CargoResult<Vec<UnitDep>>
Expand description

Given a parent unit containing a dependency dep whose package is artifact_pkg, find all targets in artifact_pkg which refer to the deps artifact declaration and turn them into units. Due to the nature of artifact dependencies, a single dependency in a manifest can cause one or more targets to be build, for instance with artifact = ["bin:a", "bin:b", "staticlib"], which is very different from normal dependencies which cause only a single unit to be created.

compile_kind is the computed kind for the future artifact unit dependency, only the caller can pick the correct one.