fn read_nested_packages( path: &Path, all_packages: &mut HashMap<PackageId, Vec<Package>>, source_id: SourceId, gctx: &GlobalContext, visited: &mut HashSet<PathBuf>, errors: &mut Vec<Error>, ) -> CargoResult<()>