pub fn proc_macro_links<'a>(
        &'a self,
    ) -> impl Iterator<Item = PackageLink<'g>> + ExactSizeIterator + 'a {
        let package_graph = self.target_features.graph().package_graph;
        self.proc_macro_edge_ixs
            .iter()
            .map(move |edge_ix| package_graph.edge_ix_to_link(*edge_ix))
    }
Returns `PackageLink` instances for procedural macro dependencies from target packages.

Procedural macros straddle the line between target and host: they're built for the host
but generate code that is compiled for the target platform.

## Notes

Procedural macro packages will be included in the *host* feature set.

The returned iterator will include proc macros that are depended on normally or in dev
builds from initials (if `include_dev` is set), but not the ones in the
`[build-dependencies]` section.
guppy/src/graph/cargo/cargo_api.rs