pub fn depends_on(
        &mut self,
        package_a: &PackageId,
        package_b: &PackageId,
    ) -> Result<bool, Error> {
        let a_ix = self.package_graph.package_ix(package_a)?;
        let b_ix = self.package_graph.package_ix(package_b)?;
        Ok(has_path_connecting(
            self.package_graph.dep_graph(),
            a_ix,
            b_ix,
            Some(&mut self.dfs_space),
        ))
    }
Returns true if `package_a` depends (directly or indirectly) on `package_b`.

In other words, this returns true if `package_b` is a (possibly transitive) dependency of
`package_a`.
guppy/src/graph/graph_impl.rs