pub fn iter_by_path(
        &self,
    ) -> impl Iterator<Item = (&'g Utf8Path, PackageMetadata<'g>)> + ExactSizeIterator {
        let graph = self.graph;
        self.inner.members_by_path.iter().map(move |(path, id)| {
            (
                path.as_path(),
                graph.metadata(id).expect("valid package ID"),
            )
        })
    }
Returns an iterator over workspace paths and package metadatas, sorted by the path
they're in.
guppy/src/graph/graph_impl.rs