fn upgrade_dependency(
gctx: &GlobalContext,
to_update: &Vec<PackageIdSpec>,
registry: &mut PackageRegistry<'_>,
upgrades: &mut HashMap<(String, SourceId), Version>,
upgrade_messages: &mut HashSet<String>,
remaining_specs: &mut IndexSet<PackageIdSpec>,
dependency: Dependency,
) -> CargoResult<Dependency>